• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Описание категорий Woocommerce вниз под товарами

Image CMS

Naya

Новичок
#41
Нашел сейчас бесплатное решение проблемы, и плагин не нужно покупать ))

Все просто, добавляем в конец файла functions.php код и наслаждаемся результатом!

PHP:
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 );
  }
}

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>';
  }
}
Отличное решение, но оно не работает со вторым языком. Кто сталкивался - как это победить?
 

baban666

Новичок
#45
Нашел сейчас бесплатное решение проблемы, и плагин не нужно покупать ))

Все просто, добавляем в конец файла functions.php код и наслаждаемся результатом!

PHP:
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 );
  }
}

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>';
  }
}
Добрый день! Может подскажете, как подключить второе описание к Меткам товаров и Брендам
 

Puza

Новичок
#46
Присоединяюсь к "baban666". Да, может у кого получилось добавить дополнительное (второе) описание к Меткам (tag) Woocommerce?
 
#47
Добрый день. Через данный код не получается вставить изображение. Как это исправить?

Выводится значк битого изображения и "\", при нажатии на "\" открывается страница

Forbidden
You don't have permission to access /"http://site.ru/wp-content/uploads/2018/03/cyplyata.jpg/" on this server.

Сама ссылка имеет неправильный вид http://site.ru/"http://site.ru/wp-content/uploads/2018/03/cyplyata.jpg/"
 

ShtuGrass

Новичок
#48
Того же эффекта можно достичь без правки файлов шаблонов WooCommerce с помощью добавления в functions.php темы следующего кода
PHP:
// удаляем описание категории на странице категорий
remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description', 10 );
// выводим описание категории под товарами
add_action( 'woocommerce_after_shop_loop', 'woocommerce_taxonomy_archive_description', 100 );
Добрый вечер. Этот код сработал там где есть категории, но у меня главная страница выводится как страница на которую встроен магазин и этот код не выводит описание под товарами. Если я вставляю описание на страницу, то текст выводится сверху, а не под товарами. Не кто не знает как решить эту задачу, вывести описание на главной под товарами?
 

somen

Новичок
#49
после вставки кода ошибка появляется в логах -
Notice Undefined property: WP_Post_Type::$term_id1wp-content/themes/oceanwp/functions.php:1148
подскажете в чём дело ?
так всё работает вроде, но ошибка угнетает )))
 

somen

Новичок
#50
Добрый вечер. Этот код сработал там где есть категории, но у меня главная страница выводится как страница на которую встроен магазин и этот код не выводит описание под товарами. Если я вставляю описание на страницу, то текст выводится сверху, а не под товарами. Не кто не знает как решить эту задачу, вывести описание на главной под товарами?
решили проблему ??
а то я тоже с этим борюсь )
 

ShtuGrass

Новичок
#51
решили проблему ??
а то я тоже с этим борюсь )
Нет не решил...сделал по другому, создал отдельную страницу и на ней вывел товары, текст на этой странице оказался снизу, как у страниц категорий товаров.
 

somen

Новичок
#52
Нет не решил...сделал по другому, создал отдельную страницу и на ней вывел товары, текст на этой странице оказался снизу, как у страниц категорий товаров.
remove_filter( 'woocommerce_archive_description', 'woocommerce_product_archive_description', 10 );
add_action( 'woocommerce_after_main_content', 'woocommerce_product_archive_description', 15 );
вот нашёл решение, но мне надо чтоб и сверху осталось и снизу новое добавить
 

ShtuGrass

Новичок
#53
remove_filter( 'woocommerce_archive_description', 'woocommerce_product_archive_description', 10 );
add_action( 'woocommerce_after_main_content', 'woocommerce_product_archive_description', 15 );
вот нашёл решение, но мне надо чтоб и сверху осталось и снизу новое добавить
Спасибо, буду иметь в виду!
 
Сверху Снизу