我试图删除JetPack的相关帖子模块中的过滤器,该过滤器将元素添加到DOM中,该DOM由模块的JavaScript用相关帖子填充。一旦我删除了它,我就可以实现我的实际目标,即除了插件提供的选项之外,还可以将它添加到其他地方。
我试图删除的内容筛选器如下所示:
public function filter_add_target_to_dom( $content ) {
if ( !$this->_found_shortcode ) {
$content .= "\\n" . $this->get_target_html();
}
return $content;
}
我在一个单独的插件中尝试过:
add_action( \'plugins_loaded\', \'slug_remove_jp_content_filter\' , 2001 );
function slug_remove_jp_content_filter() {
$jprp = Jetpack_RelatedPosts( get_current_blog_id() );
remove_filter( \'the_content\', array( $jprp, \'filter_add_target_to_dom\' ) );
}
我也尝试过:
class myclass{
function __construct() {
add_action( \'plugins_loaded\', array( $this, \'remove_default_content_filter\' ), 2001 );
}
function remove_default_content_filter() {
$jprp = Jetpack_RelatedPosts( get_current_blog_id() );
remove_filter( \'the_content\', array( $jprp, \'filter_add_target_to_dom\' ) );
}
}
new myclass();
在这两种情况下,我都尝试使用
$jprp = Jetpack_RelatedPosts::init();
相反
在调试控制台中,我可以用这两个$jprp = Jetpack_RelatedPosts::init();
和$jprp = new Jetpack_RelatedPosts( get_current_blog_id() );
不知道还能尝试什么。