wordpress Yoast wpseo_title在页面Yoast SEO部分可见

qojgxg4l  于 2022-12-03  发布在  WordPress
关注(0)|答案(1)|浏览(130)

我想用一个自定义的生成文本字符串(functions.php)填充Yoast SEO标题。
下面的add_filter函数在我的页面的源代码中提供了正确的输出。

function seoTitelHomepage() {
  return is_page(get_option('page_on_front')) ? jet_engine()->listings->data->get_option( 'pwp-options::seo-titel-homepage' ) : false;
}
add_filter('wpseo_title', 'seoTitelHomepage');

但是,由于我使用了过滤函数,所以我只在输出时更改源代码,因此数据不会写入数据库。
我想在wpseo_title数据库字段中填充我的自定义文本,以便在我的页面详细信息中的Yoast SEO部分也能看到这些文本。这样,Yoast的“分析/评分”也将工作,我可以看到谷歌结果概览上方显示的漂亮预览。
任何帮助都将不胜感激!

ppcbkaq5

ppcbkaq51#

我自己修好了,下面的答案是给任何需要它的人的。

function seoHomepageTitle() {
  $homepageId = get_option('page_on_front');
  $meta_key = "_yoast_wpseo_title";
  $meta_value = jet_engine()->listings->data->get_option( 'pwp-options::seo-titel-homepage' );
  isset($homepageId , $meta_value) ? update_post_meta($homepageId , $meta_key, $meta_value) : false;
 }

add_action('updated_postmeta', 'seoHomepageTitle');

诀窍是正确的动作钩;更新后的元数据。
Yoast meta密钥列表可以在这里找到:https://shellcreeper.com/yoast-seo-meta-keys-table/
我对以上代码的反馈持开放态度,以使其更加健壮。

相关问题