使用PHP在WordPress中设置页面标题

前端之家收集整理的这篇文章主要介绍了使用PHP在WordPress中设置页面标题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这个问题之前已被问过几千次,但我尝试了很多这些解决方案却没有取得任何成功.

尝试过的解决方案等(添加到模板页面)

add_filter('the_title','callback_to_set_the_title');

add_filter('wp_title','callback_to_set_the_title');

global $title;
$title = 'My Custom Title';

add_filter( 'pre_get_document_title','callback_to_set_the_title' );

add_filter( 'document_title_parts','callback_to_set_the_title' );

方案是我有一个工作列表页面的自定义模板.这个页面有重写的URL重写domain.com/about/careers/search/job?slug=whatever到domain.com/about/careers/search/job/whatever- slug用于从Redis检索一个条目包含工作列表的所有信息,包括我想要使用的标题.

这是我如何重写URL(来自functions.PHP):

function job_listing_url_rewrite() {
    global $wp_rewrite;
    add_rewrite_tag('%slug%','([^&]+)');
    add_rewrite_rule('^about/careers/search/job/([a-zA-Z0-9-_]+)/?','index.PHP?page_id=6633&slug=$matches[1]','top');
    $wp_rewrite->flush_rules(true);
}
add_action('init','job_listing_url_rewrite',10,0);
我用我的模板进行了一些研究.我的模板调用get_header来打印带有head等的html标签,我想你的确是一样的.

要替换标题,我在调用函数之前启动输出缓冲并在之后获取它.
之后我可以用preg_replace轻松替换标题

ob_start();
get_header();
$header = ob_get_clean();
$header = preg_replace('#<title>(.*?)<\/title>#','<title>TEST</title>',$header);
echo $header;
原文链接:https://www.f2er.com/php/136608.html

猜你在找的PHP相关文章