无法使用wp_cache_flush()在Wordpress中清除缓存

时间:2018-12-13 06:40:26

标签: php wordpress caching plugins

我目前正在为Pressable开发插件,并希望清除WP缓存,但是当我尝试运行wp_cache_flush()时,此函数返回NULL而不是TRUE或FALSE。我还包括了wp-load.php

Pressable Hosting的简要介绍。该托管服务提供商在一个名为Symlink的文件夹中安装了Wordpress,但我无法访问该文件夹。此外,wp-load.php也是一个符号链接。我们仅提供wp-content文件夹。

随时询问您在理解问题时是否遇到任何困难。

PHP脚本是这样的:

    <?php

    require("./wp-load.php");
    global $bvRespArray;
    $bvRespArray = array("signature" => "blogVault API");

    function bvStatusAdd($key, $value) {
        global $bvRespArray;
        $bvRespArray[$key] = $value;
    }

    function bvAutoStatusExit() {
        global $bvRespArray;
        die("bvbvbvbvbv".serialize($bvRespArray)."bvbvbvbvbv");
    }

    if (wp_cache_flush())
        bvStatusAdd("success", true);
    else
        bvStatusAdd("error", true);

    bvAutoStatusExit();
    ?>

1 个答案:

答案 0 :(得分:0)

问题在于可压服务器。 Pressable已以其自己的格式配置了WP安装。默认的Wordpress wp_cache_flush()函数将返回BOOL,即true或false,具体取决于成功或失败。

但是,无论函数失败还是成功,Pressable都将其定义更改为每次返回NULL。因此,要更改此工作流程,我创建了一个自定义函数,如下所示:-

function myCacheClear() {
   wp_cache_clear();
   return true;
}

现在该函数可以用作:-

if(myCacheClear())
  do_this;
else
   do_this;

希望这可以帮助面临像我这样的问题的人。

-快乐编码