编辑:解决了问题
下面是代码:
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函数时,它可以工作。
答案 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');