正如你在the Codex, 过滤器实际上有2个参数,需要说明:
add_filter( \'the_title\', function ( $title, $id = null ) {
return preg_replace(\'#(\\s{3})#\', \'…\', $title);
}, 10, 2 );
你也可以直接使用一个占位符来替换,这样可能会更容易。
如果上述操作不起作用,您可能希望在调用它之前进行尝试:
$filters = $GLOBALS[\'wp_filter\'][\'the_title\'];
foreach ( $filters as $priority => $filter ) {
remove_all_filters(\'the_title\', $priority);
}
add_filter( \'the_title\', function ( $title, $id = null ) {
return preg_replace(\'#(\\s{3})#\', \'…\', $title);
}, 10, 2 );
the_title();
如果^以上操作有效,则您在正确移除过滤器时遇到问题。你可能想
var_dump($GLOBALS[\'wp_filter\'][\'the_title\'];)
高于要求
the_title()
然后看看还剩下什么,关心一下。