WordPress开发:从Yoast转RankMath后如何获取SEO元标签?
获取RankMath SEO的标题元标签(替代Yoast实现)
方法1:直接读取Post Meta(类似Yoast的写法)
RankMath将自定义SEO标题存储在rank_math_title这个post meta键下,你可以用和Yoast类似的逻辑直接读取:
function click_the_meta_title() { $rankmath_title = get_post_meta(get_the_ID(), 'rank_math_title', true); return !empty($rankmath_title) ? $rankmath_title : get_the_title(); }
方法2:使用RankMath官方API(推荐)
直接读取meta可能会拿到未解析的动态变量(比如%title%、%sep%这类RankMath内置变量),如果需要获取最终渲染后的标题(和前端页面显示的一致),建议用RankMath提供的官方API:
function click_the_meta_title() { // 先检查RankMath的核心类是否加载 if (!class_exists('RankMath\Post')) { return get_the_title(); } $post_id = get_the_ID(); // 获取处理后的SEO标题 $rankmath_title = RankMath\Post::get_meta($post_id, 'title'); // 无自定义标题时返回默认文章标题 return !empty($rankmath_title) ? $rankmath_title : get_the_title(); }
注意事项
- 如果在文章循环外使用,要确保
get_the_ID()能正确获取目标文章ID,或者手动传入具体ID值。 - RankMath的
get_meta()方法会自动处理变量替换、条件逻辑等,是更稳定可靠的方式。
内容的提问来源于stack exchange,提问作者user3010617
相关产品推荐
相关产品推荐

