0

编辑:解决了问题

继承人的代码:

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”,但没有一个 Microsoft 单词被替换。

解决方案:

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

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

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

4

1 回答 1

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');
于 2012-12-26T09:31:23.943 回答