Связаться
+79263772075
info@el-komp.ru

Blog

Дополняем категории woocommerce SEO текстом

Доброго дня, в последнее время, большой популярностью пользуются русские шаблоны для не менее востребованного интернет магазина на основе woocommerce.
Все в нем все хорошо, но не предусмотрено поле для SEO текста, для каждой категории, сегодня я вам расскажу как немного изменить ситуацию в лучшую сторону.
Люди которые занимаются продвижением сайтов, в первую очередь требуют именно этот пункт, ну и меня не обошло данное действие.
Для начала нам надо зарегистрировать наше дополнительное поле, чтоб оно у нас появилось при редактировании категории товаров, для большего эффекта мы пропишем не просто поле, а полноценный
текстовый редактор.

add_action( 'product_cat_edit_form_fields', 'wpm_taxonomy_edit_meta_field', 10, 2 );

function wpm_taxonomy_edit_meta_field($term) {
 
 $t_id = $term->term_id;
 $term_meta = get_option( "taxonomy_$t_id" );
  $content = $term_meta['custom_term_meta'] ? wp_kses_post( $term_meta['custom_term_meta'] ) : '';
  $settings = array( 'textarea_name' => 'term_meta[custom_term_meta]' );
  ?>
  <tr class="form-field">
  <th scope="row" valign="top"><label for="term_meta[custom_term_meta]">Любой текст или банеры для каждой категории</label></th>
    <td>
      <?php wp_editor( $content, 'product_cat_details', $settings ); ?>
     
    </td>
  </tr>
<?php
}

add_action( 'edited_product_cat', 'save_taxonomy_custom_meta', 10, 2 );  
add_action( 'create_product_cat', 'save_taxonomy_custom_meta', 10, 2 );

function save_taxonomy_custom_meta( $term_id ) {
  if ( isset( $_POST['term_meta'] ) ) {
    $t_id = $term_id;
    $term_meta = get_option( "taxonomy_$t_id" );
    $cat_keys = array_keys( $_POST['term_meta'] );
    foreach ( $cat_keys as $key ) {
      if ( isset ( $_POST['term_meta'][$key] ) ) {
        $term_meta[$key] = wp_kses_post( stripslashes($_POST['term_meta'][$key]) );
      }
    }
    
    update_option( "taxonomy_$t_id", $term_meta );
  }
}

Данный код надо поместить в файл вашего шаблона functions.php
После этого у нас в категориях товаров появится текстовый редактор.

Теперь все это дело надо вывести в шаблон.

add_action( 'woocommerce_after_shop_loop', 'wpm_product_cat_archive_add_meta' );

function wpm_product_cat_archive_add_meta() {
  $t_id = get_queried_object()->term_id;
  $term_meta = get_option( "taxonomy_$t_id" );
  $term_meta_content = $term_meta['custom_term_meta'];
  if ( $term_meta_content != '' ) {
    echo '<div class="woo-sc-box normal rounded full">';
      echo apply_filters( 'the_content', $term_meta_content );
    echo '</div>';
  }
}

Данный код надо поместить в файл вашего шаблона functions.php
Теперь в каждой категории будет выводится ваш текст, банер, да все что угодно.
Всем приятной работы!!!

 

Спасибо https://www.wp-city.ru/dopolnyaem-kategorii-woocommerce-seo-tekstom/

 

 

 

Все эти вопросы решает плагин All in One SEO Pack Pro

Ключ: b6ffb6699450271d58b12a01c1e6c5a2

7 Comments - Leave a Comment
  • Evgeny -

    А как вывести текст под названием категории, на странице со списком подкатегорий. Конкретно под woocommerce_template_loop_category_title. Не хватает описания категории для удобства пользователей. Спасибо.

  • Pavel -

    Текст получилось вывести в каждую категорию, но текст выодится на каждой странице пагинации, что плохо для seo продвижения. Вот этот сайт inc-store.by, сделан на шаблоне. Если я захожу на страницу с повербанками, то вижу внизу свой текст, но когда я перехожу на другую страницу с этими же повербанками текст не исчезает. Как мне это поправить? Буду очень благодарен за ответ!

    • admin -

      Описания надо добавлять конкретной категории. Это решает плагин All in One SEO Pack Pro

  • Leave a comment

    Ваш адрес email не будет опубликован.

    девятнадцать − три =

    Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

    Top Яндекс.Метрика