在wp-includes文件中覆盖函数的Wordpress插件

时间:2017-05-20 09:10:57

标签: php wordpress

这是我第一次尝试制作Wordpress插件。我想在post-template.php下的wp-includes文件中插入三行代码。我想我需要一种方法来覆盖函数,在本例中为get_the_content,以便它调用我的插件的函数版本而不是默认函数。

根据我搜索过的内容,覆盖核心文件并不是一个好主意,所以我希望有一种简单的方法可以通过我的插件修改函数。

这样做的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

你可以在你的插件中使用相同的函数名覆盖它,你也可以创建一个子主题,在里面你可以复制文件post-template.php,这样它就会加载编辑后的版本,而不会更新问题,或者它可能(如果可插入)使用钩子覆盖或编辑它,请查看以下答案:https://stackoverflow.com/a/17202451/7862006

答案 1 :(得分:0)

你做对了。切勿直接修改these reasons的核心文件。但是,幸运的是,有不同的方法可以在WordPress中实现您想要的功能。最简单的方法是在functions.php中添加一个过滤器(如果你使用的是主题,请在../themes/..内找到functions.php),如下所示:

add_filter('the_content', 'new_content_filter');
function new_content_filter( $content )
{
    $new_content = 'hello';
    return $new_content;
}

这将获取内容并在其上应用新的过滤器。