У меня установлен и работает W3 Total Cache, за исключением того, что он некорректно очищает страницы моей категории при публикации или обновлении сообщения. Я хотел бы сделать это автоматически.
В моей теме Wordpress у меня есть несколько страниц категорий, и они называются категория-зеленые-виджеты, категория-синие-виджеты и т. Д.
Некоторые, например, виджеты категорий, могут включать красные виджеты категорий И синие виджеты категорий (я закодировал это таким образом). Из-за этого мне нужно сбросить все категории, а не только те, к которым принадлежит пост.
Для начала я думаю, что этот код может работать для получения категорий поста:
/* Flush category pages */
function category_cache_flush_on_post( $post_id ) {
if(function_exists('w3tc_pgcache_flush_post')){
$post_categories = wp_get_post_categories( $post_id );
foreach($post_categories as $c)
w3tc_pgcache_flush_post($c[0]);
}
}
add_filter( 'save_post', 'category_cache_flush_on_post', 10, 1 );
Итак, как мне выгрузить кеш для ВСЕХ категорий при обновлении или публикации? Что для этого требует W3TC?
if (function_exists('w3tc_pgcache_flush_post')) { w3tc_pgcache_flush_post($categoryID); }
- person Serge Kvashnin   schedule 20.09.2013