我有一个wordpress插件,它使用add_filter来更改页面的标题。 在一个空的wordpress网站,它只是工作正常。但我有两个其他网站,我想使用我的插件,但由于某种原因,它根本不起作用。
function hooks() {
if(get_query_var('car_id') != "") {
add_action('wp_head', 'fillHead');
add_filter('document_title_parts', 'addTitle', PHP_INT_MAX);
}
add_shortcode('auto', 'showCar');
}
我试图停用一些插件和主题等但似乎没有任何效果。我不知道标题的位置在哪里。有没有办法看到wp_head()中发生了什么,或者为什么这个代码没有在正确的时间执行?
修改 在header.php中有一些代码可以生成标题。如果我删除这部分它仍然无法正常工作。它会将网址作为标题。 但是我怎样才能在我的插件中否决这个标签?
答案 0 :(得分:2)
您的插件代码很可能会在主题代码之前运行,并且会在将任何内容添加到挂钩之前运行。您将需要将处理文件包含的代码添加到在加载所有插件后运行的其他钩子,例如after_setup_theme
This是wordpress加载序列吗?
答案 1 :(得分:0)
所以我终于找到了让它发挥作用的方法。 在主题中有一个header-details.php。我删除了标签之间的所有内容,只添加了以下内容:
<?=wp_title( '|', true, 'right' )?>
然后在插件中我使用了过滤器wp_title而不是document_title_parts。
它现在有效但我仍然需要在其他网站上测试