Проблема с кешем в финальном фильтре WordPress - PullRequest
0 голосов
/ 06 апреля 2019

Я использую метод буфера для окончательного вывода html, рекомендованный kfriend здесь https://stackoverflow.com/a/22818089/3465265

Он работает нормально, но есть проблемы с плагинами кэша.Арне Л рекомендовал фильтр для WP Super Cache здесь: https://stackoverflow.com/a/51171913/3465265

Но это не работает.Когда я использую wp_cache_ob_callback_filter в качестве имени фильтра, никаких изменений не происходит.Файлы супер кеша не создаются.

WP Rocket также имеет аналогичный фильтр, который называется rocket_buffer https://docs.wp -rocket.me / article / 774-rocketbuffer

.исправление имени фильтра.HTML и CSS оба должным образом минимизированы WP Rocket, но в каталоге / cache / wp-rocket не создаются html-файлы.

Вот мой код:

ob_start();

add_action('shutdown', function() {
    $final = '';

    // We'll need to get the number of ob levels we're in, so that we can iterate over each, collecting
    // that buffer's output into the final output.
    $levels = ob_get_level();

    for ($i = 0; $i < $levels; $i++) {
        $final .= ob_get_clean();
    }

    // Apply any filters to the final output
    echo apply_filters('rocket_buffer', $final);
}, 0);

add_filter('rocket_buffer', function($output) {
    //this is where changes should be made

    $pattern1 ='~(<img.*? alt=")("[^>]*>)~i'; // alt empty
    $alt_keyword = "BUBBLE";
    $replace_fkw = '$1'. $alt_keyword .'$2';

    return $content = preg_replace($pattern1, $replace_fkw, $output);
});

Предполагается, что он заменит imgпустой тег alt с данным ключевым словом, который работает нормально, за исключением проблемы, упомянутой с плагинами кэша.

Любое решение, пожалуйста.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...