the_title()
再次调用函数。如果要避免这种情况,请删除函数内部的回调:
function filter_title_after() {
remove_filter( current_filter(), __FUNCTION__ );
// the rest of your code.
但你不应该打电话
the_title()
在你的功能中:它
prints 标题–这不是您想要的–您已经从WordPress获得了原始标题和ID作为参数。使用它。
此外,应该通过检查来测试POST请求$_SERVER[ \'REQUEST_METHOD\' ]
.
function filter_title_after( $title, $post_id ) {
if ( ! is_singular() )
return $title;
if ( 58 !== (int) $post_id )
return $title;
if ( \'POST\' !== $_SERVER[ \'REQUEST_METHOD\' ] )
return $title;
return "Congratulation";
}
add_filter( \'the_title\', \'filter_title_after\', 10, 2 );