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 标题,您的检查将起作用。