wordpress add_filter问题

时间:2010-07-14 19:54:02

标签: wordpress plugins add-filter

我正在尝试为wordpress编写一个简单的插件,但我遇到了问题。 这是插件:


function replace_css_php($text){
   return str_replace(".css",".php",$text);
}

add_filter('bloginfo', 'replace_css_php', 1, 1);
add_filter('bloginfo_url', 'replace_css_php', 1, 2);

问题是其他插件(不是我的插件),在我之后添加了文本到标题。 它意味着只有部分文本通过replace_css_php而不是全部。

(函数replace_css_php只是一个简单的例子,而不是现实生活中)

任何想法?

由于

2 个答案:

答案 0 :(得分:0)

您可能希望更改过滤器的执行顺序(优先级):

add_filter ( 'hook_name', 'your_filter', [priority], [accepted_args] );

默认值为10,您将两者的优先级设置为1,因此页面上其他所有内容的优先级都会被优先级较低。将优先级值设置为更高的值,它应该可以工作。

答案 1 :(得分:0)

在我看来,您试图过滤样式表网址吗?

在这种情况下,请使用更合适的过滤器stylesheet_uri;

function replace_css_php($uri)
{
    return str_replace('.css', '.php', $uri);
}
add_filter('stylesheet_uri', 'replace_css_php');