W3TC手动缓存刷新不起作用

时间:2019-07-15 作者:codingforworlddomination

我需要的是.php 位于我管理的所有WordPress网站的根文件夹中的文件,可以刷新所有网站的所有缓存。

因此,我在第一个网站的根文件夹中创建了一个文件“flush cache.php”,并添加了以下代码:

<?php
/**
 * Flushing the W3TC Plugin\'s Cache entirely, and specifically, also page cache (as it does not seem to be part of flush-all)
 *
 * @package WordPress
 */

ignore_user_abort( true );

/* Don\'t make the request block till we finish, if possible. */
if ( function_exists( \'fastcgi_finish_request\' ) && version_compare( phpversion(), \'7.0.16\', \'>=\' ) ) {
    fastcgi_finish_request();
}

if ( ! empty( $_POST ) || defined( \'DOING_AJAX\' ) || defined( \'DOING_CRON\' ) ) {
    die();
}

// Flush W3TC Cache right now
function flush_w3tc_cache() {
    $w3_plugin_totalcache->flush_all();
}
add_action( \'wp\', \'flush_w3tc_cache\' );

function flush_w3tc_page() {
    $w3_plugin_totalcache->flush_pgcache();
}
add_action( \'wp\', \'flush_w3tc_page\' );
// END Flush W3TC Cache right now
我在这里找到了大部分:https://stackoverflow.com/questions/34509492/w3-total-cache-clear-page-cache-every-hour-automatic

但是,当我打开文件时https://domain.xyz/flush-cache.php, 它似乎不起作用。我没有收到错误消息或任何其他输出(预期),但在该站点的后端,我仍然看到需要清除页面缓存。

有什么建议吗?可能有什么问题?

2 个回复
SO网友:codingforworlddomination

工作解决方案是:

<?php
/*
 * Flushing the W3TC Plugin\'s Cache entirely
 * @package WordPress
 */
ignore_user_abort( true );
include(\'/home/clients/<client-directory>/<website-directory>\' . \'/wp-load.php\');
w3tc_flush_all();

SO网友:codingforworlddomination

我最终创建了一个工具,可以使用一个受密码保护的控制面板同时刷新多个W3TC网站。如果这对任何人都有帮助,可以在Github上使用:https://github.com/web-butler/w3tc-remote-flush-multiple