Wordpress - 为什么the_title过滤器不会更改帖子标题?

时间:2012-12-26 09:13:10

标签: wordpress wordpress-plugin wordpress-theming

编辑:解决了问题

下面是代码:

function my_function($content){
    return str_replace('Microsoft', 'Apple', $content);
}

add_filter('the_content', 'my_function');
add_filter( 'the_title', 'my_function');

内容部分有效,帖子内容中的所有Microsoft字词都会更改为Apple。帖子标题不会改变。我给帖子标题:“MicrosoftMy Microsoft Page Microsoft Microsoft”,但微软的任何一个词都没有被替换。

解决方案:

在我的插件PHP文件中,我有一个主要功能:

function create_main_page() {
    add_filter('the_content', 'my_function' );
    add_filter( 'the_title', 'my_function' );
    ...
}

我通过进入wordpress HTML编辑器来调用此函数(我必须安装PHP Execution插件才能让我在PHP编辑器中输入PHP)。出于某种原因,当我从这个create_main_page函数中调用add_filter函数时,事情变得混乱,因为它无法与标题交互。当我从页面本身调用add_filter函数时,它可以工作。

1 个答案:

答案 0 :(得分:0)

尝试对内容和标题使用单独的方法

function my_function_content($content){
    return str_replace('Microsoft', 'Apple', $content);
}


function my_function_title($title){
    return str_replace('Microsoft', 'Apple', $title);
}


add_filter('the_content', 'my_function_content');
add_filter( 'the_title', 'my_function_title');