
Yoast SEO: как добавить свой тег для шаблона текстов?
12 августа 2019
Одна из ключевых особенностей и преимуществ SEO Yoast плагина – возможность формировать SEO тексты по шаблону. Это существенно повышает шансы попадания страниц сайта в топ-выдачу поисковых систем. Увеличивает трафик и как следствие доходы от сайта.
Для шаблона есть множество готовых меток “из коробки”. Но иногда стандартных меток не хватает. И возникает задача – написать свою метку.
Пример задачи и проблемы
Есть иерархическая категория “Территория”, где термы верхнего уровня это страна, а нижние термы – города. При выводе записей по городу, нужно чтобы в заголовок страницы попадала страна. Такой метки нет.
Добавим свой тег %%term_first_ancestor%%
Этот тег позволит выводить в заголовке первого предка иерархической таксономии.
add_action('wpseo_register_extra_replacements', function() {
    wpseo_register_var_replacement(
      '%%term_first_ancestor%%',
      $callback = function() {
        $text = '';
        if ( ! is_tax()) {
          return $text;
        }
        $term = get_term(get_queried_object()->term_id);
        $ancestors = get_ancestors($term->term_id, $term->taxonomy, 'taxonomy');
        $ancestors = array_reverse($ancestors);
        if ( ! $top_ancestor_id = @$ancestors[0]) {
          return $text;
        }
        $top_ancestor = get_term($ancestors[0]);
        $text         = $top_ancestor->name;
        return $text;
      },
      'advanced',
      'get name first ancestor'
    );
  }
);



