WordPress:如果没有指定标题,则添加元标题
WordPress: Add meta title if there is no title dedined
如果产品中没有设置标题,我想在 Yoast 中添加元标题。
为此,我使用了以下函数:
add_filter( 'wpseo_title', 'wpseo_change_product_title' );
function wpseo_change_product_title( $title ) {
if ( is_product() ) {
// My function to generate the title
}
return $title;
}
但如果 WooCommerce 产品中没有定义标题,我只想设置标题。
我试图通过将整个函数包装在 if 语句中来检查 $title
是否为空:
if ( empty($title)) {
// function
}
但是没有效果。
我错过了什么吗?
我看到 Yoast SEO 标题永远不会是空的。 Yoast 添加了一些占位符的东西。可能这就是没办法查的原因吧?
问题是,当您尝试清空产品中的 Yoast SEO 标题时,由于 Yoast 中默认的产品模板设置,Yoast 会在保存后重新设置标题。
要解决此问题,您需要按照 Yoast 中的此文档删除产品的 Yoats SEO 默认标题:
https://yoast.com/help/how-to-modify-default-snippet-templates-in-yoast-seo/
之后,如果您删除每个产品中的 SEO 标题,您的检查将起作用。
如果产品中没有设置标题,我想在 Yoast 中添加元标题。
为此,我使用了以下函数:
add_filter( 'wpseo_title', 'wpseo_change_product_title' );
function wpseo_change_product_title( $title ) {
if ( is_product() ) {
// My function to generate the title
}
return $title;
}
但如果 WooCommerce 产品中没有定义标题,我只想设置标题。
我试图通过将整个函数包装在 if 语句中来检查 $title
是否为空:
if ( empty($title)) {
// function
}
但是没有效果。 我错过了什么吗?
我看到 Yoast SEO 标题永远不会是空的。 Yoast 添加了一些占位符的东西。可能这就是没办法查的原因吧?
问题是,当您尝试清空产品中的 Yoast SEO 标题时,由于 Yoast 中默认的产品模板设置,Yoast 会在保存后重新设置标题。
要解决此问题,您需要按照 Yoast 中的此文档删除产品的 Yoats SEO 默认标题:
https://yoast.com/help/how-to-modify-default-snippet-templates-in-yoast-seo/
之后,如果您删除每个产品中的 SEO 标题,您的检查将起作用。