让WordPress执行指定函数

我们在使用WordPress过程中经常需要复写一些WordPress提供的方法,举个最简单的例子,如登录页面的title会包含WordPress字符,对SEO和自己来说可能会觉得不太舒服。如:

此时我们通过在functions.php中定义以下方法即可抹掉WordPress字符:

/**
 * 移除登录时提示的title中的WordPress信息
 */
function mylogin_title($login_title){
    return str_replace("— WordPress",'',$login_title);
}
add_filter('login_title', 'mylogin_title');

其中原理如下:

其中:
apply_filters( 'login_title', $login_title, $title ); 第一个参数“login_title”为过滤器名称,$login_title 为可修改参数, $title 为辅助参数实现方法时查阅到相关资料也没发现具体作用,注册的方法也不能添加辅助参数。执行完注册函数之后得到返回值再进行页面渲染。

functions.php 中定义的 add_filter('login_title', 'mylogin_title'); 第一次参数login_title为注册器名称,第二个参数为方法名称。框架在执行 apply_filters 时会自动调用到我们注册的 mylogin_title 方法,在mylogin_title中即可进行相应的操作。

通过上面的原理我们就可以进行比较多的函数定义,自定义我们主题特性。

另外WordPress还有 add_action 无参形式的执行自定义函数形式。WordPress通过 do_action 去执行,使用者通过 add_action 去注册。

发表评论

CAPTCHAis initialing...