Как добавить дополнительное описание в категории товаров WooCommerce в низу

Как перенести краткое описание категорий товаров вниз я уже рассказал в статье «WooCommerce описание категории внизу«

В этой статье рассмотрим как добавить еще одно описание, не затрагивая стандартно, и вывести его внизу под товарами в самой категории. В добавок еще чтобы это описание не повторялось на следующих страницах, т.е. выводилось только на первой странице при пагинации.

Представленный ниже код добавляем в functions.php вашей темы (не забываем, если есть дочерняя то в нее) в самый конец. Обращаем внимание, если в конце файла есть строка (или код заканчивается) с символами ?>, то добавляем как есть, иначе из кода убираем первую строку ‘<?php’

<?php
add_action( 'product_cat_edit_form_fields', 'wplife_expert_bottom_cat', 10, 2 );
function wplife_expert_bottom_cat ($term) {
  $id = $term->term_id;
  $term_meta = get_option( "taxonomy_$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_expert_bottom_cat', 10, 2 );
add_action( 'create_product_cat', 'save_expert_bottom_cat', 10, 2 );
function save_expert_bottom_cat ( $term_id ) {
  if ( isset( $_POST['term_meta'] ) ) {
    $id = $term_id;
    $term_meta = get_option( "taxonomy_$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_$id", $term_meta );
  }
}

add_action( 'woocommerce_after_shop_loop', 'wplife_expert_bottom_cat_add' );
 function wplife_expert_bottom_cat_add() {
   $id = get_queried_object()->term_id;
   $term_meta = get_option( "taxonomy_$id" );
   $term_meta_content = $term_meta['custom_term_meta'];
   if ( $term_meta_content != '' ) {
     if ( is_tax( array( 'product_cat', 'product_tag' ) ) && 0 === absint( get_query_var( 'paged' ) ) ) {
       echo '<div class="woo-sc-box normal rounded full">';
         echo apply_filters( 'the_content', $term_meta_content );
       echo '</div>';
    }
  }
}
?>

В админке сайта в категории при редактировании появится редактируемое поле с названием «Дополнительное описание (внизу)». В него мы вносим свой текст и обязательно сохраняем изменения. А на странице нужной категории внизу появляется

3 комментария к “Как добавить дополнительное описание в категории товаров WooCommerce в низу”

    1. Александр

      Да актуален для низа категорий.
      А по умолчанию он показывает вверху. Если у вас не показывается, укажите тему или напишите мне, я помогу вам, можете дать ссылку на сайт

    2. Вверху сделать так
      add_action( ‘woocommerce_before_shop_loop’, ‘woocommerce_taxonomy_archive_description’, 10 );
      Внизу так
      add_action( ‘woocommerce_after_shop_loop’, ‘woocommerce_taxonomy_archive_description’, 10 );
      Добавить в functions.php

Оставьте комментарий

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

Пролистать наверх