gpt4 book ai didi

php - 有没有办法使用 Yoast 变量在页面内获取 Yoast 标题? (即 %%title%%)

转载 作者:行者123 更新时间:2023-11-28 03:56:51 26 4
gpt4 key购买 nike

我需要创建一个函数,以便我可以在 WordPress 常规页面之外的任何页面中使用它。我的意思是 wp_head() 不会放在那里。我需要它是有目的的。

目的是针对 AMP (ampproject.org) 页面,我无法在其中使用任何 CSS 或 JavaScript。这就是为什么我需要这个;我需要在 wp_title() 处放置一个函数,以便将 Yoast 标题放在那里。

我需要这样的东西:

function yoastVariableToTitle($variable){
return yoast_vaialble_to_show_title($variable);
}

最佳答案

By Default Yoast takes a format as %%title%% %%page%% %%sep%%
%%sitename%%
, and stores in wp_postmeta table under _yoast_wpseo_title key.

只获取页面/帖子的标题:

function yoastVariableToTitle($post_id) {
$yoast_title = get_post_meta($post_id, '_yoast_wpseo_title', true);
$title = strstr($yoast_title, '%%', true);
if (empty($title)) {
$title = get_the_title($post_id);
}
return $title;
}

SEO 标题有 2 种可能性

案例 I:管理员输入 %%title%% %%page%% %%sep%% %%sitename%%SEO title 字段中,上面的代码将返回帖子/页面 默认标题

案例 II:管理员输入 My Custom Title %%page%% %%sep%% %%sitename%%SEO title 字段中,上面的代码将返回 My Custom Title


获取页面/帖子的完整元标题:

function yoastVariableToTitle($post_id) {

$yoast_title = get_post_meta($post_id, '_yoast_wpseo_title', true);
$title = strstr($yoast_title, '%%', true);
if (empty($title)) {
$title = get_the_title($post_id);
}
$wpseo_titles = get_option('wpseo_titles');

$sep_options = WPSEO_Option_Titles::get_instance()->get_separator_options();
if (isset($wpseo_titles['separator']) && isset($sep_options[$wpseo_titles['separator']])) {
$sep = $sep_options[$wpseo_titles['separator']];
} else {
$sep = '-'; //setting default separator if Admin didn't set it from backed
}

$site_title = get_bloginfo('name');

$meta_title = $title . ' ' . $sep . ' ' . $site_title;

return $meta_title;
}

希望这对您有所帮助!

关于php - 有没有办法使用 Yoast 变量在页面内获取 Yoast 标题? (即 %%title%%),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41361510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com