您可以执行以下操作:
如果你有一个叫做“侧边栏”的侧边栏
<?php
if ( !dynamic_sidebar("Sidebar") ) :
endif;
?>
将其包装在ESI标记中,一个用于ESI未启用,另一个用于:
<esi:remove>
<?php
if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar("Sidebar") ) :
endif;
?>
</esi:remove>
<!--esi
<esi:include src="/wp-content/plugins/myplugin/esihandler.php"/>
-->
然后,创建ESI将从中提取的端点,称之为esihandler。php:
<?php
$cwd = getcwd();
$path = substr($cwd, 0, strpos($cwd, \'wp-content/\'));
require $path . \'wp-blog-header.php\';
if ( !dynamic_sidebar("Sidebar") ) :
endif;
最后,在sub vlc\\U fetch调用中更新varnish配置以获得适当的缓存时间:
if (req.url ~ "esihandler.php") {
set beresp.ttl = 10m;
}
else {
set beresp.do_esi = true;
set beresp.ttl = 1440m;
}