Plugin Directory

Changeset 2602929


Ignore:
Timestamp:
09/22/2021 11:04:05 AM (4 years ago)
Author:
john1302
Message:

Add hook level option

Location:
wp-lozad/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • wp-lozad/trunk/classes/FrontPageProcessing.php

    r2536446 r2602929  
    1515    {
    1616        add_action('wp_enqueue_scripts', function () {
    17             $pluginOptions = get_option(SettingsConstants::PAGE_SETTING_OPTION_NAME);
    18 
    1917            $pluginDirUrl = plugin_dir_url(__DIR__);
    20             $includeInFooter = isset($pluginOptions[SettingsConstants::SETTING_WHERE_INCLUDE_SCRIPT])
    21                 && $pluginOptions[SettingsConstants::SETTING_WHERE_INCLUDE_SCRIPT];
     18            $includeInFooter = (bool) $this->getPluginOptionsValue(SettingsConstants::SETTING_WHERE_INCLUDE_SCRIPT);
    2219
    2320            wp_enqueue_script('jquery');
     
    3330            }
    3431
     32            $hookLevel = (int) $this->getPluginOptionsValue(SettingsConstants::SETTING_SCRIPT_HOOK_LEVEL);
     33            if ($hookLevel < 10) {
     34                $hookLevel = 10;
     35            }
     36
    3537            global $cache_enabled;
    3638            if (has_filter('final_output')) {
    37                 add_filter('final_output', [$this, 'lozadContentProcessing']);
     39                add_filter('final_output', [$this, 'lozadContentProcessing'], $hookLevel);
    3840            } elseif (
    3941                $cache_enabled
     
    4143                && function_exists('wpsc_is_backend') && !wpsc_is_backend()
    4244            ) {
    43                 add_filter('wp_cache_ob_callback_filter', [$this, 'lozadContentProcessing']);
     45                add_filter('wp_cache_ob_callback_filter', [$this, 'lozadContentProcessing'], $hookLevel);
    4446            } else {
    45                 add_action('template_redirect', [$this, 'lozadContentProcessing']);
     47                add_action('template_redirect', [$this, 'lozadContentProcessing'], $hookLevel);
    4648            }
    4749            return true;
     
    5355        return (new ContentProcessing($content))->handle();
    5456    }
     57
     58    private function getPluginOptionsValue($option)
     59    {
     60        return get_option(SettingsConstants::PAGE_SETTING_OPTION_NAME)[$option] ?? null;
     61    }
    5562}
  • wp-lozad/trunk/classes/settings/AdminSettingsPage.php

    r2406738 r2602929  
    9191        $optionName = $args['name'];
    9292        $value = get_option(SettingsConstants::PAGE_SETTING_OPTION_NAME);
    93         $value = isset($value[$optionName]) ? $value[$optionName] : null;
     93        $value = $value[$optionName] ?? null;
    9494        $optionConfig = $args['optionConf'];
    9595        $formOptionName = SettingsConstants::PAGE_SETTING_OPTION_NAME . '[' . $optionName . ']';
     
    104104    public function submitAction($options)
    105105    {
    106         foreach ($options as $name => & $val) {
    107             if($name == SettingsConstants::SETTING_SKIPPED_CLASSES_STRING) {
     106        foreach ($options as $name => &$val) {
     107            if (in_array($name, [SettingsConstants::SETTING_SKIPPED_CLASSES_STRING, SettingsConstants::SETTING_SCRIPT_HOOK_LEVEL])) {
    108108                $val = strip_tags($val);
     109                if ($name == SettingsConstants::SETTING_SCRIPT_HOOK_LEVEL && (int) $val < 10) {
     110                    $val = '';
     111                }
    109112            } else {
    110113                $val = intval($val);
  • wp-lozad/trunk/classes/settings/SettingsConstants.php

    r2527677 r2602929  
    2020    const SETTING_SKIPPED_CLASSES_STRING = 'skipped_classes_string';
    2121    const SETTING_ENABLE_LAZY_LOAD_IMAGE_SIZES = 'enable_lazy_load_image_sizes';
     22    const SETTING_SCRIPT_HOOK_LEVEL = 'lazy_load_hook_level'; // default -10
    2223
    2324    const OPTION_DISPLAY_TYPE_CHECKBOX = 'checkbox';
     
    3334        $skippedClassesOption['placeholder'] = 'Ex. class1, class2, class3';
    3435
     36        $hookLevelOption = self::getOptionConfigArr(__('Hook level'), self::OPTION_DISPLAY_TYPE_INPUT);
     37        $hookLevelOption['placeholder'] = 'Default and min 10';
     38
    3539        return [
    3640            self::SETTING_ENABLE_LAZY_LOAD => self::getOptionConfigArr(__('Enable Lazy Load')),
     
    4347            self::SETTING_ENABLE_LAZY_LOAD_VIDEO => self::getOptionConfigArr(__('Enable Lazy Load for Video')),
    4448            self::SETTING_WHERE_INCLUDE_SCRIPT => $whereIncludeOption,
    45             self::SETTING_SKIPPED_CLASSES_STRING => $skippedClassesOption
     49            self::SETTING_SKIPPED_CLASSES_STRING => $skippedClassesOption,
     50            self::SETTING_SCRIPT_HOOK_LEVEL => $hookLevelOption
    4651        ];
    4752    }
  • wp-lozad/trunk/lozad.php

    r2580247 r2602929  
    44Description: lazy loading of images by baroda algorithm
    55Author: Evgeniy Kozenok
    6 Version: 1.4.9
     6Version: 1.5.0
    77*/
    88
  • wp-lozad/trunk/readme.txt

    r2580247 r2602929  
    33Tags: image, lazyload, lozad, front, posts, html processing
    44Requires at least: 5.0
    5 Tested up to: 5.5
    6 Stable tag: 1.4.9
     5Tested up to: 5.8
     6Stable tag: 1.5.0
    77License: GPL2
    88License URI: https://www.gnu.org/licenses/gpl-2.0.html
Note: See TracChangeset for help on using the changeset viewer.