Как создать свои переменные для мета тегов в плагине YOAST?

Ссылка скопирована
1 ответ

Установлен плагин YOAST (не премиум).
Нужно создать мета тег с переменной бренда, типа "Купить галоши [бренд] в Сургуте".

Смотрел тут, но здесь на скрине на первом шаге нужно нажать меню, которого у меня нет. Ну или я не нашел, где оно нах-ся.
https://yoast.com/help/create-custom-fields/

Может быть, это доступно только на "Премиум"?

Дополнительно:

Ответы:

function get_yoast_brand() {  	$string = '';  	if ( is_single() ) { 		$string = get_post_meta( get_the_ID(), '_brand', true ) ?? __( 'Default Brand', 'textdomain' ); 	}  	return $string; }  // Define the action for register yoast_variable replacments. function register_custom_yoast_variables() { 	wpseo_register_var_replacement( '%%Brand%%', 'get_yoast_brand', 'advanced', __( 'Description of this field', 'textdomain' ) ); }  // Add action. add_action( 'wpseo_register_extra_replacements', 'register_custom_yoast_variables' );

function get_yoast_brand() { $string = ''; if ( is_single() ) { $string = get_post_meta( get_the_ID(), '_brand', true ) ?? __( 'Default Brand', 'textdomain' ); } return $string; } // Define the action for register yoast_variable replacments. function register_custom_yoast_variables() { wpseo_register_var_replacement( '%%Brand%%', 'get_yoast_brand', 'advanced', __( 'Description of this field', 'textdomain' ) ); } // Add action. add_action( 'wpseo_register_extra_replacements', 'register_custom_yoast_variables' );

  • Спасибо, а без редактирования кода никак нельзя?
  • rinatoptimus, не знаю
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Кирилл JS Ответ

В Yoast SEO свои переменные для title и description добавляются через wpseo_register_extra_replacements. После регистрации переменную можно использовать в шаблонах Yoast как %%my_variable%%.

Пример переменной, которая подставляет значение произвольного поля:

add_action('wpseo_register_extra_replacements', function () {
    wpseo_register_var_replacement(
        '%%product_brand%%',
        'my_yoast_product_brand',
        'advanced',
        'Бренд товара из произвольного поля'
    );
});
 
function my_yoast_product_brand() {
    if (! is_singular()) {
        return '';
    }
 
    $brand = get_post_meta(get_the_ID(), 'brand', true);
    return $brand ? sanitize_text_field($brand) : '';
}

add_action('wpseo_register_extra_replacements', function () { wpseo_register_var_replacement( '%%product_brand%%', 'my_yoast_product_brand', 'advanced', 'Бренд товара из произвольного поля' ); }); function my_yoast_product_brand() { if (! is_singular()) { return ''; } $brand = get_post_meta(get_the_ID(), 'brand', true); return $brand ? sanitize_text_field($brand) : ''; }

После этого в Yoast можно написать, например: %%title%% %%product_brand%% купить.

Если переменная зависит от таксономии, берите термины через get_the_terms(). Если от категории архива — проверяйте is_category() или get_queried_object(). Обязательно возвращайте строку, а не массив или HTML.

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

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно