wordpress无法调用functions.php中的函数add_filter()

时间:2014-11-13 07:37:05

标签: php wordpress

我正在使用wordpress并希望修改邮件'From'和'From Name'。因此,通过搜索互联网,我将这些代码添加到wp-includes / functions.php(以>>开头的行是我添加的行,行号与funcions.php中的行号相同):

1  <?php
2  /**
3   * Main WordPress API
4   *
5   * @package WordPress
6   */
7
8  require( ABSPATH . WPINC . '/option.php' );
9
10  >> function custom_mail_from($old){
11  >>         return 'stephen' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
12  >> }
13  >>
14  >> function custom_mail_from_name($old){
15  >>         return 'Stephen Zhang';
16  >> }
17  >>
18  >> add_filter('wp_mail_from', 'custom_mail_from');
19  >> add_filter('wp_mail_from_name', 'custom_mail_from_name');
20
21  /**
22   * Convert given date string into a different format.
...

然而,我收到此错误:

2014/11/13 15:29:35 [error] 683#0: *7602 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Call to undefined function add_filter() in /home/www/blog/zsr/wordpress/wp-includes/functions.php on line 18"

但它似乎已require option.php个文件。 那么为什么会出现这种错误呢?我能做些什么来解决它?

谢谢〜:)

3 个答案:

答案 0 :(得分:1)

这可能是这么简单吗?我甚至不确定是否应该问:但你真的想在那里加载functions.php吗?

  

2014/11/13 15:29:35 [错误] 683#0:* 7602在stderr发送FastCGI:&#34; PHP   消息:PHP致命错误:调用未定义的函数add_filter()   第18行&#34; /home/www/blog/zsr/wordpress/wp-includes/functions.php;

功能应该在这里的某个地方: wordpress主文件夹&gt; wp-content&gt;主题&gt; YourThemeName&gt;的functions.php 你来到这里: wordpress主文件夹&gt; wp-includes&gt;的functions.php

您应该始终编辑主题的功能,而不是核心功能。主题的功能就足够了,清理你可以包含外部文件。 之后本教程应该适合您:http://www.artishock.net/wordpress/how-to-change-wordpress-default-email-from-name-and-from-address/

答案 1 :(得分:0)

这些功能应添加到您在THEME的 functions.php 文件的/wp-content/themes/your-theme/functions.php中。在/wp-includes中修改核心文件几乎没有什么好理由。

详细了解Functions File中的WordPress Codex

答案 2 :(得分:0)

add_filter的源文件是'plugin.php'而不是'option.php'

http://codex.wordpress.org/Function_Reference/add_filter#Source_File