Как создать свои переменные для мета тегов в плагине YOAST?
Установлен плагин 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, не знаю
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
В 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) : ''; }
После этого в Yoast можно написать, например:
%%title%% %%product_brand%% купить.Если переменная зависит от таксономии, берите термины через
get_the_terms(). Если от категории архива — проверяйтеis_category()илиget_queried_object(). Обязательно возвращайте строку, а не массив или HTML.После добавления переменной очистите кэш сайта и проверьте исходный код страницы. Иногда Yoast indexables кэширует SEO-данные, и изменения видны не сразу.