WordPress: добавьте мета-заголовок, если заголовок не выделен

Я хочу добавить мета-заголовок в Yoast, если в продукте нет заголовка.

Для этого я использую следующую функцию:

add_filter( 'wpseo_title', 'wpseo_change_product_title' );
functionwpseo_change_product_title( $title ) {
    if ( is_product() ) {
        // My function to generate the title
    }

    return $title;
}

Но я хочу установить заголовок только в том случае, если заголовок не определен в продукте WooCommerce.

Я пытался проверить, есть ли $title пусто, если всю функцию заключить в оператор if:

if ( empty($title)) {
    // function
}

Но это не действует. Я что-то упускаю?

Я видел, что заголовок Yoast SEO никогда не бывает пустым. Yoast добавляет кое-какие заполнители. Может в этом причина того, что нет возможности проверить?

1 ответ

Решение

Проблема в том, что когда вы пытаетесь очистить заголовок Yoast SEO в продукте, Yoast снова установит заголовок после сохранения из-за настройки шаблона продукта по умолчанию в Yoast.

Чтобы исправить это, вам необходимо удалить заголовок Yoats SEO по умолчанию для продуктов, следуя этой документации от Yoast:

https://yoast.com/help/how-to-modify-default-snippet-templates-in-yoast-seo/

После этого ваша проверка будет работать, если вы удалите SEO-заголовок в каждом продукте.

Другие вопросы по тегам