Дополняем категории 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
Спасибо за хак )))
Очень помогло. Клиент пришел с магазином на Woo.
круть. спасибо. а как добавить мета?
Вроде это делает просто SEO Ultimate
А как вывести текст под названием категории, на странице со списком подкатегорий. Конкретно под woocommerce_template_loop_category_title. Не хватает описания категории для удобства пользователей. Спасибо.
Это решает плагин All in One SEO Pack Pro
Текст получилось вывести в каждую категорию, но текст выодится на каждой странице пагинации, что плохо для seo продвижения. Вот этот сайт inc-store.by, сделан на шаблоне. Если я захожу на страницу с повербанками, то вижу внизу свой текст, но когда я перехожу на другую страницу с этими же повербанками текст не исчезает. Как мне это поправить? Буду очень благодарен за ответ!
Описания надо добавлять конкретной категории. Это решает плагин All in One SEO Pack Pro