我正在尝试将详细信息页面的标题更改为汽车的名称。我制作了一个插件,可以用汽车信息填充详细信息页面。但是现在我无法让add_filter('wp_title ')在我的插件中工作。
下面是我尝试的代码:
function init() {
hooks();
}
add_action('wp', 'init');
function hooks() {
if(get_query_var('car_id') != "") {
add_filter('wp_title', 'addTitle', 100);
add_action('wp_head', 'fillHead');
}
add_shortcode('showCar', 'showCar');
}
function addTitle() {
$api_url_klant = API_URL . '/gettitle/' . get_option("ac") . '/' . get_query_var('car_id');
$title = getJSON($api_url_klant);
return $title['merk'] . " " . $title['model'] . " - " . $title['bedrijf'];
}
addTitle()函数工作的很好,它返回正确的名字,add_action('wp_head ')也工作的很好,我只是不能让wp_title过滤器不工作。
我是否在错误的时间执行此筛选器,或者我做错了什么?
5条答案
按热度按时间w1jd8yoj1#
如果其他人对此有问题,可能是由于Yoast插件。用途:
k10s72fa2#
我不能告诉从你提供的代码,但你使用:
在你的
<head>
里,在. php的标题下?显然,从4.4开始,对标题的处理方式进行了更改。以下链接解释了如何使用新代码:
https://www.developersq.com/change-page-post-title-wordpress-4-4/
wf82jlnq3#
我贴出了另一个问题的答案,但由于它是相关的,更及时,我认为它可能是有用的。
自Wordpress v4.4.0以来,文档标题的生成方式发生了变化。现在
wp_get_document_title
规定了标题的生成方式:以下是v5.4.2中的代码。以下是可用于操作title标记的过滤器:
这里有两种方法可以做到这一点。
第一个使用
pre_get_document_title
过滤器,它可以缩短标题生成时间,因此如果您不打算更改当前标题,则性能会更高:第二种方法是使用
document_title_separator
和document_title_parts
钩子来处理title和title分隔符,它们在函数中稍后执行,在title根据页面使用single_term_title
或post_type_archive_title
等函数生成并将要输出之后:9wbgstp74#
我已经在网上搜索了每一个解决方案,尝试了100多个例子。
最后...做得好joemaller因为把这个放在第一位解决了一切!
1l5u6lss5#
谢谢。