作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要创建一个函数,以便我可以在 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%%
, and stores in
%%sitename%%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/
我是一名优秀的程序员,十分优秀!