namespace WPForms\Admin\Builder;
use WPForms\Helpers\CacheBase;
* Form Builder Help Cache.
class HelpCache extends CacheBase {
const REMOTE_SOURCE = 'https://wpformsapi.com/feeds/v1/docs/';
* Determine if the class is allowed to load.
protected function allow_load() {
if ( wp_doing_cron() || wpforms_doing_wp_cli() ) {
if ( ! wpforms_current_user_can( [ 'create_forms', 'edit_forms' ] ) ) {
return wpforms_is_admin_page( 'builder' );
* Setup settings and other things.
protected function setup() {
'remote_source' => self::REMOTE_SOURCE,
'cache_file' => 'docs.json',
* Allow modifying Help Docs cache TTL (time to live).
* @param int $cache_ttl Cache TTL in seconds. Defaults to 1 week.
'cache_ttl' => (int) apply_filters( 'wpforms_admin_builder_help_cache_ttl', WEEK_IN_SECONDS ),
'update_action' => 'wpforms_builder_help_cache_update',