Как перенести краткое описание категорий товаров вниз я уже рассказал в статье «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>';
}
}
}
?>
В админке сайта в категории при редактировании появится редактируемое поле с названием «Дополнительное описание (внизу)». В него мы вносим свой текст и обязательно сохраняем изменения. А на странице нужной категории внизу появляется
Как сделать сверху категории? И этот код еще актуален для низа категории, работает он?
Да актуален для низа категорий.
А по умолчанию он показывает вверху. Если у вас не показывается, укажите тему или напишите мне, я помогу вам, можете дать ссылку на сайт
Вверху сделать так
add_action( ‘woocommerce_before_shop_loop’, ‘woocommerce_taxonomy_archive_description’, 10 );
Внизу так
add_action( ‘woocommerce_after_shop_loop’, ‘woocommerce_taxonomy_archive_description’, 10 );
Добавить в functions.php