EDIT <这个问题的标题是“是否有人知道Jetpack是否正在缓存页面/内容”,但在线程之后已更改
我刚刚更新了一个插件。除此之外,它确实使用the_content
钩
但我注意到,一旦我将更改推到了网上,它的行为就不正常了(我的部分内容丢失了)。
一旦我禁用Jetpack,它就会按预期工作。
有人知道Jetpack是否正在缓存页面/内容,以及如何清除该缓存吗?
我没有在网上找到任何关于它的信息。
谢谢
EDIT <这个问题的标题是“是否有人知道Jetpack是否正在缓存页面/内容”,但在线程之后已更改
我刚刚更新了一个插件。除此之外,它确实使用the_content
钩
但我注意到,一旦我将更改推到了网上,它的行为就不正常了(我的部分内容丢失了)。
一旦我禁用Jetpack,它就会按预期工作。
有人知道Jetpack是否正在缓存页面/内容,以及如何清除该缓存吗?
我没有在网上找到任何关于它的信息。
谢谢
有人知道Jetpack是否正在缓存页面/内容吗
Jetpack不会缓存帖子和页面的内容。
一旦我禁用Jetpack,它就会按预期工作。
这似乎是代码过滤方式之间的冲突the_content
, 还有一个Jetpack功能使用相同过滤器的方式。我建议您停用每个Jetpack功能,一次停用一个,直到找到冲突的确切来源。然后,您可以通过以下方式联系Jetpack支持团队:this contact form 让他们知道这两个插件之间的冲突。
我发现,由于@jeherve的建议,在Jetpack中启用了publication connections时,就会出现这个bug。
实际上,我有一个函数the_content
并将内容附加到特定页面:
add_filter( \'the_content\',\'wpsstm_frontend_wizard_content\');
function wpsstm_frontend_wizard_content($content){
if ( !is_page(MYPAGEID) ) return $content;
ob_start();
wpsstm_locate_template( \'frontend-wizard.php\', true);
$wizard = ob_get_clean();
return $content . $wizard;
}
模板通过加载wpsstm_locate_template()
; 调用核心函数load_template()
:/*
Locate a template & fallback in plugin\'s folder
*/
function wpsstm_locate_template( $template_name, $load = false, $require_once = true ) {
if ( !$located = locate_template( \'wpsstm/\' . $template_name ) ) {
// Template not found in theme\'s folder, use plugin\'s template as a fallback
$located = wpsstm()->plugin_dir . \'templates/\' . $template_name;
}
if ( $load && (\'\' != $located) ){
load_template( $located, $require_once );
}
return $located;
}
我通过设置$require_once = false
当我调用wpsstm\\u locate\\u template()-从而加载模板()时:wpsstm_locate_template( \'frontend-wizard.php\', true, false);
我猜Jetpack在真正显示之前“运行”了我的过滤器。因此,该文件已经加载了一次,并且在$require\\u once设置为false之前不会再次加载。我发现了如何修复它,但无论如何,这似乎是Jetpack中的一个bug;或者我应该用另一种方式来处理。我会写的。