我希望用自定义生成的文本字符串(functions.php)填充Yoast标题。
下面的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部分中看到这个文本。这样,Yoast‘分析/评分’也将工作,我可以看到不错的预览显示在上面的谷歌结果概览。
任何帮助都是非常感谢的!
发布于 2022-11-23 11:43:56
我自己解决了,下面的答案是给任何需要它的人。
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');诀窍是正确的动作钩子;updated_postmeta。
在这里可以找到Yoast键的列表:https://shellcreeper.com/yoast-seo-meta-keys-table/
我对上述代码的反馈意见是开放的,以使其更加健壮。
https://stackoverflow.com/questions/74545231
复制相似问题