ge' => 'heartbeat',
'section' => 'heartbeat_section',
'sanitize_callback' => 'sanitize_checkbox',
'default' => 0,
],
'heartbeat_admin_behavior' => array_merge(
$fields_default,
[
'label' => __( 'Behavior in backend', 'rocket' ),
'description' => '',
]
),
'heartbeat_editor_behavior' => array_merge(
$fields_default,
[
'label' => __( 'Behavior in post editor', 'rocket' ),
]
),
'heartbeat_site_behavior' => array_merge(
$fields_default,
[
'label' => __( 'Behavior in frontend', 'rocket' ),
]
),
]
);
}
/**
* Registers Add-ons section.
*
* @since 3.0
*/
private function addons_section() {
// CL.
if ( ! get_rocket_option( 'addon_varnish_used' ) && ! get_rocket_option( 'addon_webp_used' ) && ! get_rocket_option( 'addon_cloudflare_used' ) ) {
return;
}
$webp_beacon = $this->beacon->get_suggest( 'webp' );
$this->settings->add_page_section(
'addons',
[
'title' => __( 'Add-ons', 'rocket' ),
'menu_description' => __( 'Add more features', 'rocket' ),
]
);
// CL.
if ( get_rocket_option( 'addon_varnish_used' ) || get_rocket_option( 'addon_webp_used' ) ) {
$this->settings->add_settings_sections(
[
'one_click' => [
'title' => __( 'One-click AccelerateWP Add-ons', 'rocket' ),
'description' => __( 'One-Click Add-ons are features extending available options without configuration needed. Switch the option "on" to enable from this screen.', 'rocket' ),
'type' => 'addons_container',
'page' => 'addons',
],
]
);
}
// CL.
if ( get_rocket_option( 'addon_cloudflare_used' ) ) {
$this->settings->add_settings_sections(
[
'addons' => [
'title' => __( 'AccelerateWP Add-ons', 'rocket' ),
'description' => __( 'AccelerateWP Add-ons are complementary features extending available options.', 'rocket' ),
'type' => 'addons_container',
'page' => 'addons',
],
]
);
$this->settings->add_settings_fields(
[
'do_cloudflare' => [
'type' => 'rocket_addon',
'label' => __( 'Cloudflare', 'rocket' ),
'logo' => [
'url' => WP_ROCKET_ASSETS_IMG_URL . 'logo-cloudflare2.svg',
'width' => 153,
'height' => 51,
],
'title' => __( 'Integrate your Cloudflare account with this add-on.', 'rocket' ),
'description' => __( 'Provide your account email, global API key, and domain to use options such as clearing the Cloudflare cache and enabling optimal settings with AccelerateWP.', 'rocket' ),
'section' => 'addons',
'page' => 'addons',
'settings_page' => 'cloudflare',
'default' => 0,
'sanitize_callback' => 'sanitize_checkbox',
],
]
);
}
$this->settings->add_settings_sections(
[
'one_click' => [
'title' => __( 'One-click Rocket Add-ons', 'rocket' ),
'description' => __( 'One-Click Add-ons are features extending available options without configuration needed. Switch the option "on" to enable from this screen.', 'rocket' ),
'type' => 'addons_container',
'page' => 'addons',
],
]
);
$this->settings->add_settings_sections(
[
'addons' => [
'title' => __( 'Rocket Add-ons', 'rocket' ),
'description' => __( 'Rocket Add-ons are complementary features extending available options.', 'rocket' ),
'type' => 'addons_container',
'page' => 'addons',
],
]
);
$default_cf_settings = [
'do_cloudflare' => [
'type' => 'rocket_addon',
'label' => __( 'Cloudflare', 'rocket' ),
'logo' => [
'url' => rocket_get_constant( 'WP_ROCKET_ASSETS_IMG_URL', '' ) . 'logo-cloudflare2.svg',
'width' => 153,
'height' => 51,
],
'title' => __( 'Integrate your Cloudflare account with this add-on.', 'rocket' ),
'description' => __( 'Provide your account email, global API key, and domain to use options such as clearing the Cloudflare cache and enabling optimal settings with WP Rocket.', 'rocket' ),
'helper' => sprintf(
// translators: %1$s = opening span tag, %2$s = closing span tag.
__( '%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just activate the official Cloudflare plugin and configure it. WP Rocket will automatically enable compatibility.', 'rocket' ),
'',
' '
),
'section' => 'addons',
'page' => 'addons',
'settings_page' => 'cloudflare',
'default' => 0,
'sanitize_callback' => 'sanitize_checkbox',
],
];
/**
* Filters the Cloudflare Addon field values
*
* @since 3.14
*
* @param array $cf_settings Array of values to populate the field.
*/
$cf_settings = (array) apply_filters( 'rocket_cloudflare_field_settings', $default_cf_settings );
$cf_settings = wp_parse_args( $cf_settings, $default_cf_settings );
$this->settings->add_settings_fields( $cf_settings );
/**
* Allow to display the "Varnish" tab in the settings page
*
* @since 2.7
*
* @note CL
* @param bool $display true will display the "Varnish" tab.
*/
if ( get_rocket_option( 'addon_varnish_used' ) && apply_filters( 'rocket_display_varnish_options_tab', true ) ) {
$varnish_beacon = $this->beacon->get_suggest( 'varnish' );
$this->settings->add_settings_fields(
/**
* Filters the Varnish field settings data
*
* @since 3.0
* @author Remy Perona
*
* @param array $settings Field settings data.
*/
apply_filters(
'rocket_varnish_field_settings',
[
'varnish_auto_purge' => [
'type' => 'one_click_addon',
'label' => __( 'Varnish', 'rocket' ),
'logo' => [
'url' => WP_ROCKET_ASSETS_IMG_URL . 'logo-varnish.svg',
'width' => 152,
'height' => 135,
],
'title' => __( 'If Varnish runs on your server, you must activate this add-on.', 'rocket' ),
// translators: %1$s = opening tag, %2$s = closing tag.
'description' => sprintf( __( 'Varnish cache will be purged each time AccelerateWP clears its cache to ensure content is always up-to-date.'/* %1$sLearn more%2$s*/, 'rocket' ), '', ' ' ),
'section' => 'one_click',
'page' => 'addons',
'settings_page' => 'varnish',
'default' => 0,
'sanitize_callback' => 'sanitize_checkbox',
],
]
)
);
}
// CL.
if ( get_rocket_option( 'addon_webp_used' ) ) {
$webp_beacon = $this->beacon->get_suggest( 'webp' );
if ( rocket_valid_key() && ! \Imagify_Partner::has_imagify_api_key() ) {
$imagify_link = '';
} else {
$imagify_link = ' ';
}
$this->settings->add_settings_fields(
[
'cache_webp' =>
/**
* Add more content to the 'cache_webp' setting field.
*
* @param array $cache_webp_field Data to be added to the setting field.
*
* @since 3.4
*
* @since 3.10 moved to add-on section
*/
apply_filters(
'rocket_cache_webp_setting_field',
[
'type' => 'one_click_addon',
'label' => __( 'WebP Compatibility', 'rocket' ),
'logo' => [
'url' => WP_ROCKET_ASSETS_IMG_URL . 'logo-webp.svg',
'width' => 152,
'height' => 135,
],
'title' => __( 'Improve browser compatibility for WebP images.', 'rocket' ),
// translators: %1$s = opening tag, %2$s = closing tag.
'description' => sprintf(
// translators: %1$s and %3$s = opening tag, %2$s = closing tag.
__( 'Enable this option if you would like AccelerateWP to serve WebP images to compatible browsers. Please note that AccelerateWP cannot create WebP images for you.'/* To create WebP images we recommend %1$sImagify%2$s. %3$sMore info%2$s*/, 'rocket' ),
$imagify_link,
'',
''
),
'section' => 'one_click',
'page' => 'addons',
'settings_page' => 'webp',
'default' => 0,
'sanitize_callback' => 'sanitize_checkbox',
'container_class' => [
'wpr-webp-addon',
],
]
),
]
);
}
/*
// Temporary off.
if ( defined( 'WP_ROCKET_SUCURI_API_KEY_HIDDEN' ) && WP_ROCKET_SUCURI_API_KEY_HIDDEN ) {
// No need to display the dedicated tab if there is nothing to display on it.
$description = __( 'Clear the Sucuri cache when AccelerateWP cache is cleared.', 'rocket' );
$settings_page = false;
} else {
$description = __( 'Provide your API key to clear the Sucuri cache when AccelerateWP cache is cleared.', 'rocket' );
$settings_page = 'sucuri';
}
$this->settings->add_settings_fields(
[
'sucury_waf_cache_sync' => [
'type' => 'rocket_addon',
'label' => __( 'Sucuri', 'rocket' ),
'logo' => [
'url' => WP_ROCKET_ASSETS_IMG_URL . 'logo-sucuri.png',
'width' => 152,
'height' => 56,
],
'title' => __( 'Synchronize Sucuri cache with this add-on.', 'rocket' ),
'description' => $description,
'section' => 'addons',
'page' => 'addons',
'settings_page' => $settings_page,
'default' => 0,
'sanitize_callback' => 'sanitize_checkbox',
],
]
);
*/
}
/**
* Registers Cloudflare section.
*
* @since 3.0
*/
private function cloudflare_section() {
// CL.
if ( ! get_rocket_option( 'addon_cloudflare_used' ) ) {
return;
}
$this->settings->add_page_section(
'cloudflare',
[
'title' => __( 'Cloudflare', 'rocket' ),
'menu_description' => '',
'class' => [
'wpr-subMenuItem',
'wpr-addonSubMenuItem',
],
]
);
$beacon_cf_credentials = $this->beacon->get_suggest( 'cloudflare_credentials' );
$beacon_cf_settings = $this->beacon->get_suggest( 'cloudflare_settings' );
$beacon_cf_credentials_api = $this->beacon->get_suggest( 'cloudflare_credentials_api' );
$this->settings->add_settings_sections(
[
'cloudflare_credentials' => [
'type' => 'fields_container',
'title' => __( 'Cloudflare credentials', 'rocket' ),
'help' => [
'id' => $beacon_cf_credentials['id'],
'url' => $beacon_cf_credentials['url'],
],
'page' => 'cloudflare',
],
'cloudflare_settings' => [
'type' => 'fields_container',
'title' => __( 'Cloudflare settings', 'rocket' ),
'help' => [
'id' => $beacon_cf_settings['id'],
'url' => $beacon_cf_settings['url'],
],
'page' => 'cloudflare',
],
]
);
if ( ! defined( 'WP_ROCKET_CF_API_KEY_HIDDEN' ) || ! WP_ROCKET_CF_API_KEY_HIDDEN ) {
$this->settings->add_settings_fields(
[
'cloudflare_api_key' => [
'label' => _x( 'Global API key:', 'Cloudflare', 'rocket' ),
'description' => '', /*sprintf( ' %2$s ', esc_url( $beacon_cf_credentials_api['url'] ), _x( 'Find your API key', 'Cloudflare', 'rocket' ) )*/
'default' => '',
'section' => 'cloudflare_credentials',
'page' => 'cloudflare',
],
]
);
}
$this->settings->add_settings_fields(
[
'cloudflare_email' => [
'label' => _x( 'Account email', 'Cloudflare', 'rocket' ),
'default' => '',
'container_class' => [
'wpr-field--split',
],
'section' => 'cloudflare_credentials',
'page' => 'cloudflare',
],
'cloudflare_zone_id' => [
'label' => _x( 'Zone ID', 'Cloudflare', 'rocket' ),
'default' => '',
'container_class' => [
'wpr-field--split',
],
'section' => 'cloudflare_credentials',
'page' => 'cloudflare',
],
'cloudflare_devmode' => [
'type' => 'sliding_checkbox',
'label' => __( 'Development mode', 'rocket' ),
// translators: %1$s = link opening tag, %2$s = link closing tag.
'description' => sprintf( __( 'Temporarily activate development mode on your website. This setting will automatically turn off after 3 hours.'/* %1$sLearn more%2$s*/, 'rocket' ), '', ' ' ),
'default' => 0,
'section' => 'cloudflare_settings',
'page' => 'cloudflare',
'sanitize_callback' => 'sanitize_checkbox',
],
'cloudflare_auto_settings' => [
'type' => 'sliding_checkbox',
'label' => __( 'Optimal settings', 'rocket' ),
'description' => __( 'Automatically enhances your Cloudflare configuration for speed, performance grade and compatibility.', 'rocket' ),
'default' => 0,
'section' => 'cloudflare_settings',
'page' => 'cloudflare',
'sanitize_callback' => 'sanitize_checkbox',
],
'cloudflare_protocol_rewrite' => [
'type' => 'sliding_checkbox',
'label' => __( 'Relative protocol', 'rocket' ),
'description' => __( 'Should only be used with Cloudflare\'s flexible SSL feature. URLs of static files (CSS, JS, images) will be rewritten to use // instead of http:// or https://.', 'rocket' ),
'default' => 0,
'section' => 'cloudflare_settings',
'page' => 'cloudflare',
'sanitize_callback' => 'sanitize_checkbox',
],
]
);
}
/**
* Registers Sucuri cache section.
*
* @since 3.2
*/
/*
// Temporary off
private function sucuri_section() {
if ( defined( 'WP_ROCKET_SUCURI_API_KEY_HIDDEN' ) && WP_ROCKET_SUCURI_API_KEY_HIDDEN ) {
return;
}
$sucuri_beacon = $this->beacon->get_suggest( 'sucuri_credentials' );
$this->settings->add_page_section(
'sucuri',
[
'title' => __( 'Sucuri', 'rocket' ),
'menu_description' => '',
'class' => [
'wpr-subMenuItem',
'wpr-addonSubMenuItem',
],
]
);
$this->settings->add_settings_sections(
[
'sucuri_credentials' => [
'type' => 'fields_container',
'title' => __( 'Sucuri credentials', 'rocket' ),
'page' => 'sucuri',
'help' => [
'id' => $sucuri_beacon['id'],
'url' => $sucuri_beacon['url'],
],
],
]
);
$this->settings->add_settings_fields(
[
'sucury_waf_api_key' => [
'label' => _x( 'Firewall API key (for plugin), must be in format {32 characters}/{32 characters}:', 'Sucuri', 'rocket' ),
'description' => sprintf( '%2$s ', 'https://kb.sucuri.net/firewall/Performance/clearing-cache', _x( 'Find your API key', 'Sucuri', 'rocket' ) ),
'default' => '',
'section' => 'sucuri_credentials',
'page' => 'sucuri',
],
]
);
}
*/
/**
* Sets hidden fields.
*
* @since 3.0
*/
private function hidden_fields() {
$this->settings->add_hidden_settings_fields(
/**
* Filters the hidden settings fields
*
* @since 3.5
* @author Remy Perona
*
* @param array $hidden_settings_fields An array of hidden settings fields ID
*/
apply_filters(
'rocket_hidden_settings_fields',
[
'consumer_key',
'consumer_email',
'secret_key',
'license',
'secret_cache_key',
'minify_css_key',
'minify_js_key',
'version',
'cloudflare_old_settings',
'cache_ssl',
'minify_google_fonts',
'emoji',
'remove_unused_css',
'async_css',
'minify_concatenate_css',
]
)
);
}
/**
* Sanitize and format a list.
*
* @since 3.5.5
*
* @param array $list A list of strings.
* @param string $tag_name Name of the HTML tag that will wrap each element of the list.
* @return array
*/
private function sanitize_and_format_list( $list, $tag_name = 'strong' ) { // phpcs:ignore Universal.NamingConventions.NoReservedKeywordParameterNames.listFound
if ( ! is_array( $list ) || empty( $list ) ) {
return [];
}
$list = array_filter( $list );
if ( empty( $list ) ) {
return [];
}
$list = array_unique( $list );
if ( empty( $tag_name ) ) {
return $list;
}
$format = "<$tag_name>%s$tag_name>";
return array_map( 'sprintf', array_fill( 0, count( $list ), $format ), $list );
}
/**
* Checks if combine JS option should be disabled
*
* @since 3.9
*
* @return bool
*/
private function disable_combine_js(): bool {
if ( (bool) get_rocket_option( 'delay_js', 0 ) ) {
return true;
}
return ! (bool) get_rocket_option( 'minify_js', 0 );
}
/**
* Checks if combine CSS option should be disabled
*
* @since 3.11
*
* @return bool
*/
private function disable_combine_css(): bool {
if ( (bool) get_rocket_option( 'remove_unused_css', 0 ) ) {
return true;
}
return ! (bool) get_rocket_option( 'minify_css', 0 );
}
/**
* Render radio options sub fields.
*
* @since 3.10
*
* @param array $sub_fields Array of fields to display.
*/
public function display_radio_options_sub_fields( $sub_fields ) {
$sub_fields = $this->settings->set_radio_buttons_sub_fields_value( $sub_fields );
$this->render->render_fields( $sub_fields );
}
/**
* Generates instructions for enabling a feature.
*
* @since 3.12.6.1_1.1-1
*
* @param string $feature_slug Feature slug used in SmartAdvice plugin.
*
* @return string Instructions for enabling a feature.
*
* @note CL
*/
public static function get_enable_feature_text( $feature_slug ) {
$smart_advice_link = self::get_smart_advice_link( $feature_slug, 'review' );
if ( strlen( $smart_advice_link ) > 0 ) {
return sprintf(
/* translators: 1: hyperlink opening tag, 2: hyperlink closing tag */
esc_html__( 'To enable this feature, use the apply function in %1$sSmartAdvice%2$s.', 'rocket' ),
'',
' '
);
}
return esc_html__( 'To enable this feature, use AccelerateWP UI in hosting control panel.', 'rocket' );
}
/**
* Generates instructions for disabling a feature.
*
* @since 3.12.6.1_1.1-1
*
* @param string $feature_slug Feature slug used in SmartAdvice plugin.
*
* @return string Instructions for disabling a feature.
*
* @note CL
*/
public static function get_disable_feature_text( $feature_slug ) {
$smart_advice_link = self::get_smart_advice_link( $feature_slug, 'applied' );
if ( strlen( $smart_advice_link ) > 0 ) {
return sprintf(
/* translators: 1: hyperlink opening tag, 2: hyperlink closing tag */
esc_html__( 'To disable this feature, use the rollback function in %1$sSmartAdvice%2$s.', 'rocket' ),
'',
' '
);
}
return esc_html__( 'To disable this feature, use AccelerateWP UI in hosting control panel.', 'rocket' );
}
/**
* Builds a hyperlink to the SmartAdvice plugin if the plugins is active and the feature has a desired status.
*
* @since 3.12.6.1_1.1-1
*
* @param string $feature_slug Feature slug used in SmartAdvice plugin.
* @param string $status Feature status used in SmartAdvice plugin.
*
* @return string Hyperlink to the SmartAdvice plugin. Empty string if the plugin is not active or the feature is not found, or it has a different status.
*
* @note CL
*/
private static function get_smart_advice_link( $feature_slug, $status ) {
$smart_advice_slug = apply_filters( 'cl_smart_advice_slug', ( defined( 'CL_SMART_ADVICE_SLUG' ) ? CL_SMART_ADVICE_SLUG : '' ) ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
if ( ! empty( $smart_advice_slug ) ) {
$smart_advice_data = get_option( 'cl_smart_advice' );
if ( is_array( $smart_advice_data ) && array_key_exists( 'advices', $smart_advice_data ) ) {
foreach ( $smart_advice_data['advices'] as $advice ) {
if ( $feature_slug === strtolower( $advice['type'] ) && $status === $advice['status'] ) { // phpcs:ignore WordPress.PHP.YodaConditions.NotYoda
return admin_url( 'options-general.php?page=' . $smart_advice_slug );
}
}
}
}
return '';
}
}
be-kategorijos Archives - ITAJA
be-kategorijos
Showing all 3 results
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Cookie settings ACCEPT Privacy & Cookies Policy
Pasirinkti kalbą