WP Super Cache 动态缓存的用法,网站页面静态化的同时保留部分动态内容

我有一个网站有一个比较特别的需求,就是,首先我需要对网站前台页面做静态缓存,但又希望侧边栏动态展现一些东西,比如根据用户客户端浏览器的不同,分别展示不同的内容。为了满足这个要求,首先就不能使用百度云加速或者CloudFlare的页面缓存了,因为这些网络加速服务提供的都是全页面缓存。而直接用wp super cache,同样也是全页缓存。好在WP Super Cache提供了一个动态缓存的功能。这个功能不仅需要在WP Super Cache的后台进行相关的设置,还需要对页面进行一点小小的修改。根据插件开发者提供的示例代码,我们需要打开 /wp-content/plugins/wp-super-cache/plugins下的 dynamic-cache-test.php 文件,找到第152行,将

define( 'DYNAMIC_OUTPUT_BUFFER_TAG', '' ); // Change this to a secret placeholder tag.

修改为:

define( 'DYNAMIC_OUTPUT_BUFFER_TAG', 'REDREN SIDEBAR' ); // Change this to a secret placeholder tag.

然后注释掉这一行

echo '<p>This is a test. The current time on the server is: ' . date( 'H:i:s' ) . '</p>';

接着,打开主题文件夹下的sidebar.php,在代码条件判断的

<?php

之前添加如下代码:

if ( function_exists( 'dynamic_output_buffer_test' ) )
		dynamic_output_buffer_test();
	?>REDREN SIDEBAR

最后,到后台,打开WP Super Cache设置——高级 里,勾选:启用动态缓存。需要使用PHP或传统模式缓存。请参见 FAQ或wp-super-cache/plugins/dynamic-cache-test.php的示例代码。保存设置即可。

现在,即便开启了WP Super Cache缓存将网站前台页面全部静态化,网站侧栏也可以根据访问者的设备分别输出不同的内容了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注