آموزش کدهای ووکامرس

اضافه کردن کادر توضیحات دوم دسته‌ بندی

از نظر سئو، اگر شما توضیحاتی برای هر صفحه دسته بندی داشته باشید، بسیار عالی و خوب است. به همین دلیل قصد داریم در این مقاله اضافه کردن کادر توضیحات دوم دسته‌ بندی را برای بهبود بهتر سئو و دسترسی کامل شما به همه ابزارها را آموزش بدیم.

با استفاده از قطعه کدی که آماده کرده‌ایم، می‌توانید یک باکس (کادر) دوم برای توضیحات به بخش دسته‌بندی‌های محصولات ووکامرس اضافه کنید. به صورت پیش‌فرض باکس توضیح دسته وجود دارد. اما این باکس پیش‌فرض همه امکانات و قابلیت‌ها را ندارد.

اضافه کردن کادر توضیحات دوم دسته‌ بندی اضافه کردن کادر توضیحات دوم دسته‌ بندی

باکسی که با این قطعه کد اضافه می‌کنید، از ویرایشگر پیشرفته وردپرس برای توضیحات استفاده می‌کند، این بدین معنی است که می‌توانید هر نوع توضیحی با هر استایلی را در دسته‌بندی‌هایتان قرار دهید.

اگر به چنین کادر پیشرفته‌ای نیاز دارید، این قطعه دقیقاً نیاز شما را برآورده می‌سازد. برای افزودن این قابلیت، کد زیر را به فایل فانکشن functions.php قالب‌ خودتان اضافه کنید. بهتر است، کدهای سفارشی را همیشه به قالب‌های وردپرس اضافه کنید.

اگر قالب‌ شما چایلد تم دارد، این کد را به فایل فانکشن چایلد تم (child theme) اضافه کنید تا خیالتان از بابت آپدیت‌ها نیز آسوده باشد.

/**
 * @snippet       Add new textarea to Product Category Pages - WooCommerce
 * @how-to        Watch tutorial @ https://themefour.com/add-the-second-category-description-box/
 * @author        THEMEFOUR.COM
 * @compatible    WooCommerce 4.0.1
 */  
 
// ---------------
// 1. Display field on "Add new product category" admin page
 
add_action( 'product_cat_add_form_fields', 'tfc_wp_editor_add', 10, 2 );
 
function tfc_wp_editor_add() {
    ?>
	<style>#seconddesc{
    border-style:none;} </style>
    <div class="form-field">
        <label for="seconddesc">باکس توضیحات دوم دسته</label>
       
      <?php
      $settings = array(
         'textarea_name' => 'seconddesc',
         'quicktags' => array( 'buttons' => 'em,strong,link' ),
         'tinymce' => array(
            'theme_advanced_buttons1' => 'bold,italic,strikethrough,separator,bullist,numlist,separator,blockquote,separator,justifyleft,justifycenter,justifyright,separator,link,unlink,separator,undo,redo,separator',
            'theme_advanced_buttons2' => '',
         ),
         'editor_css' => '<style>#wp-excerpt-editor-container .wp-editor-area{height:175px; width:100%;}</style>',
      );
 
      wp_editor( '', 'seconddesc', $settings );
      ?>
       
        <p class="description">این توضیح در زیر توضیحات صفحه دسته بندی نمایش داده می‌شود.</p>
    </div>
    <?php
}
 
// ---------------
// 2. Display field on "Edit product category" admin page
 
add_action( 'product_cat_edit_form_fields', 'tfc_wp_editor_edit', 10, 2 );
 
function tfc_wp_editor_edit( $term ) {
    $second_desc = htmlspecialchars_decode( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) );
    ?>
		<style>#seconddesc{
    border-style:none;} </style>
    <tr class="form-field">
        <th scope="row" valign="top"><label for="second-desc">باکس دوم توضیحات دسته</label></th>
        <td>
            <?php
          
         $settings = array(
            'textarea_name' => 'seconddesc',
            'quicktags' => array( 'buttons' => 'em,strong,link' ),
            'tinymce' => array(
               'theme_advanced_buttons1' => 'bold,italic,strikethrough,separator,bullist,numlist,separator,blockquote,separator,justifyleft,justifycenter,justifyright,separator,link,unlink,separator,undo,redo,separator',
               'theme_advanced_buttons2' => '',
            ),
            'editor_css' => '<style>#wp-excerpt-editor-container .wp-editor-area{height:175px; width:100%;}</style>',
         );
 
         wp_editor( $second_desc, 'seconddesc', $settings );
         ?>
       
            <p class="description">این توضیح در زیر توضیحات صفحه دسته بندی نمایش داده می‌شود.</p>
        </td>
    </tr>
    <?php
}
 
// ---------------
// 3. Save field @ admin page
 
add_action( 'edit_term', 'tfc_save_wp_editor', 10, 3 );
add_action( 'created_term', 'tfc_save_wp_editor', 10, 3 );
 
function tfc_save_wp_editor( $term_id, $tt_id = '', $taxonomy = '' ) {
   if ( isset( $_POST['seconddesc'] ) && 'product_cat' === $taxonomy ) {
      update_woocommerce_term_meta( $term_id, 'seconddesc', esc_attr( $_POST['seconddesc'] ) );
   }
}
 
// ---------------
// 4. Display field under products @ Product Category pages 
 
add_action( 'woocommerce_after_shop_loop', 'tfc_display_wp_editor_content', 5 );
 
function tfc_display_wp_editor_content() {
   if ( is_product_taxonomy() ) {
      $term = get_queried_object();
      if ( $term && ! empty( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) {
         echo '<p class="term-description">' . wc_format_content( htmlspecialchars_decode( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) . '</p>';
      }
   }
}

توضیحاتی که اضافه می‌کنید، در صفحه دسته‌بندی مدنظر نمایش داده می‌شود. این قطعه کد، باکس را به صفحه ویرایش دسته و افزودن دسته در مدیریت وردپرس -> محصولات -> دسته‌بندی‌ها اضافه می‌کند.

در صورتی که نیاز به این قابلیت ندارید، کافی است همین کد را حذف کنید.

نوشته‌های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا