我正在尝试为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只是一个简单的例子,而不是现实生活中)
任何想法?
由于
答案 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');