/** * Perform Divi's Split testing cron * * @return void */ function et_pb_ab_cron($args) { $all_tests = et_pb_ab_get_all_tests(); $interval = isset($args) ? $args : 'hourly'; if (empty($all_tests)) { return; } // update cache for each test and for each duration foreach ($all_tests as $test) { $current_test_interval = et_pb_ab_get_refresh_interval($test['test_id']); // determine whether or not we should update the stats for current test depending on interval parameter if ($current_test_interval !== $interval) { continue; } foreach (et_pb_ab_get_stats_data_duration() as $duration) { et_pb_ab_get_stats_data($test['test_id'], $duration, false, true); } } }
function et_pb_before_main_editor($post) { if (!in_array($post->post_type, et_builder_get_builder_post_types())) { return; } $_et_builder_use_builder = get_post_meta($post->ID, '_et_pb_use_builder', true); $is_builder_used = 'on' === $_et_builder_use_builder ? true : false; $_et_builder_use_ab_testing = get_post_meta($post->ID, '_et_pb_use_ab_testing', true); $_et_builder_ab_stats_refresh_interval = et_pb_ab_get_refresh_interval($post->ID); $_et_builder_ab_subjects = get_post_meta($post->ID, '_et_pb_ab_subjects', true); $_et_builder_ab_goal_module = et_pb_ab_get_goal_module($post->ID); $builder_always_enabled = apply_filters('et_builder_always_enabled', false, $post->post_type, $post); if ($builder_always_enabled || 'et_pb_layout' === $post->post_type) { $is_builder_used = true; $_et_builder_use_builder = 'on'; } // Add button only if current user is allowed to use it otherwise display placeholder with all required data if (et_pb_is_allowed('divi_builder_control')) { printf('<div class="et_pb_toggle_builder_wrapper%5$s"><a href="#" id="et_pb_toggle_builder" data-builder="%2$s" data-editor="%3$s" class="button button-primary button-large%5$s%6$s">%1$s</a></div><div id="et_pb_main_editor_wrap"%4$s>', $is_builder_used ? esc_html__('Use Default Editor', 'et_builder') : esc_html__('Use The Divi Builder', 'et_builder'), esc_html__('Use The Divi Builder', 'et_builder'), esc_html__('Use Default Editor', 'et_builder'), $is_builder_used ? ' class="et_pb_hidden"' : '', $is_builder_used ? ' et_pb_builder_is_used' : '', $builder_always_enabled ? ' et_pb_hidden' : ''); } else { printf('<div class="et_pb_toggle_builder_wrapper%2$s"></div><div id="et_pb_main_editor_wrap"%1$s>', $is_builder_used ? ' class="et_pb_hidden"' : '', $is_builder_used ? ' et_pb_builder_is_used' : ''); } ?> <p class="et_pb_page_settings" style="display: none;"> <?php wp_nonce_field(basename(__FILE__), 'et_pb_settings_nonce'); ?> <input type="hidden" id="et_pb_use_builder" name="et_pb_use_builder" value="<?php echo esc_attr($_et_builder_use_builder); ?> " /> <input type="hidden" autocomplete="off" id="et_pb_use_ab_testing" name="et_pb_use_ab_testing" value="<?php echo esc_attr($_et_builder_use_ab_testing); ?> "> <input type="hidden" autocomplete="off" id="et_pb_ab_stats_refresh_interval" name="et_pb_ab_stats_refresh_interval" value="<?php echo esc_attr($_et_builder_ab_stats_refresh_interval); ?> "> <input type="hidden" autocomplete="off" id="et_pb_ab_subjects" name="et_pb_ab_subjects" value="<?php echo esc_attr($_et_builder_ab_subjects); ?> "> <input type="hidden" autocomplete="off" id="et_pb_ab_goal_module" name="et_pb_ab_goal_module" value="<?php echo esc_attr($_et_builder_ab_goal_module); ?> "> <?php et_pb_builder_settings_hidden_inputs($post->ID); ?> <textarea id="et_pb_old_content" name="et_pb_old_content"><?php echo esc_attr(get_post_meta($post->ID, '_et_pb_old_content', true)); ?> </textarea> </p> <?php }
/** * Returns array of builder settings' value * * @return array of builder settings' value */ function et_pb_get_builder_settings_values($post_id = false) { // Get post ID $post_id = $post_id ? $post_id : get_the_ID(); // Page settings config $config = et_pb_get_builder_settings_configurations(); // Defaults $default_bounce_rate_limit = 5; // Get values; $ab_bounce_rate_limit = get_post_meta($post_id, '_et_pb_ab_bounce_rate_limit', true); $et_pb_ab_bounce_rate_limit = '' !== $ab_bounce_rate_limit ? $ab_bounce_rate_limit : $default_bounce_rate_limit; $color_palette = get_post_meta($post_id, '_et_pb_color_palette', true); $et_pb_color_palette = '' !== $color_palette ? $color_palette : implode('|', et_pb_get_default_color_palette()); $gutter_width = get_post_meta($post_id, '_et_pb_gutter_width', true); $et_pb_gutter_width = '' !== $gutter_width ? $gutter_width : $config['et_pb_gutter_width']['default']; $light_text_color = get_post_meta($post_id, '_et_pb_light_text_color', true); $et_pb_light_text_color = $config['et_pb_light_text_color']['default'] !== $light_text_color ? $light_text_color : $config['et_pb_light_text_color']['default']; $dark_text_color = get_post_meta($post_id, '_et_pb_dark_text_color', true); $et_pb_dark_text_color = $config['et_pb_dark_text_color']['default'] !== $dark_text_color ? $dark_text_color : $config['et_pb_dark_text_color']['default']; $content_area_background_color = get_post_meta($post_id, '_et_pb_content_area_background_color', true); $et_pb_content_area_background_color = '' === $content_area_background_color ? $config['et_pb_content_area_background_color']['default'] : $content_area_background_color; $section_background_color = get_post_meta($post_id, '_et_pb_section_background_color', true); $et_pb_section_background_color = '' === $section_background_color ? $config['et_pb_section_background_color']['default'] : $section_background_color; return apply_filters('et_pb_get_builder_settings_values', array('et_pb_enable_ab_testing' => et_is_ab_testing_active() ? 'on' : 'off', 'et_pb_ab_bounce_rate_limit' => $et_pb_ab_bounce_rate_limit, 'et_pb_ab_refresh_interval' => et_pb_ab_get_refresh_interval($post_id), 'et_pb_enable_shortcode_tracking' => get_post_meta($post_id, '_et_pb_enable_shortcode_tracking', true), 'et_pb_ab_current_shortcode' => '[et_pb_split_track id="' . $post_id . '" /]', 'et_pb_custom_css' => get_post_meta($post_id, '_et_pb_custom_css', true), 'et_pb_color_palette' => $et_pb_color_palette, 'et_pb_gutter_width' => $et_pb_gutter_width, 'et_pb_light_text_color' => strtolower($et_pb_light_text_color), 'et_pb_dark_text_color' => strtolower($et_pb_dark_text_color), 'et_pb_content_area_background_color' => strtolower($et_pb_content_area_background_color), 'et_pb_section_background_color' => strtolower($et_pb_section_background_color)), $post_id); }