WooCommerce добавить второе описание тега продукта создать короткий код можно добавить в Elementor

#php #wordpress #woocommerce #shortcode

Вопрос:

Поскольку я не смог найти ответа на свой запрос на нескольких сайтах, я надеюсь получить помощь здесь, чтобы решить мою проблему. На самом деле, я хотел бы знать, как я могу создать короткий код для отображения второго описания тега продукта, который затем можно добавить в page builder. Сейчас я использую Elementor Pro. Я нашел решение для добавления второго описания тега продукта, которое отлично работает (здесь : https://businessbloomer.com/woocommerce-add-a-second-content-box-product-category-pages /) с изменением product_cat_add_form_fields на product_tag_add_form_fields в коде.

Но это исправлено под списками продуктов. Было бы хорошо, если бы у него был [короткий код], и затем его можно было бы добавить в Elementor (на отдельной странице продукта).

Я новичок, и у меня не слишком много знаний о кодировании…Я пытаюсь изменить 4-ю функцию, но она по-прежнему не работает. Надеюсь, что кто-нибудь сможет мне помочь!

  * @snippet       Add new textarea to Product Tag Pages - WooCommerce
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 3.9
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */  
 
// ---------------
// 1. Display field on "Add new product Tag" admin page
 
add_action( 'product_tag_add_form_fields', 'bbloomer_wp_editor_add', 10, 2 );
 
function bbloomer_wp_editor_add() {
    ?>
    <div class="form-field">
        <label for="seconddesc"><?php echo __( 'Second Description', 'woocommerce' ); ?></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"><?php echo __( 'This is the description that goes BELOW products on the Tag page', 'woocommerce' ); ?></p>
    </div>
    <?php
}
 
// ---------------
// 2. Display field on "Edit product Tag" admin page
 
add_action( 'product_tag_edit_form_fields', 'bbloomer_wp_editor_edit', 10, 2 );
 
function bbloomer_wp_editor_edit( $term ) {
    $second_desc = htmlspecialchars_decode( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) );
    ?>
    <tr class="form-field">
        <th scope="row" valign="top"><label for="second-desc"><?php echo __( 'Second Description', 'woocommerce' ); ?></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"><?php echo __( 'This is the description that goes BELOW products on the Tag page', 'woocommerce' ); ?></p>
        </td>
    </tr>
    <?php
}
 
// ---------------
// 3. Save field @ admin page
 
add_action( 'edit_term', 'bbloomer_save_wp_editor', 10, 3 );
add_action( 'created_term', 'bbloomer_save_wp_editor', 10, 3 );
 
function bbloomer_save_wp_editor( $term_id, $tt_id = '', $taxonomy = '' ) {
   if ( isset( $_POST['seconddesc'] ) amp;amp; 'product_tag' === $taxonomy ) {
      update_woocommerce_term_meta( $term_id, 'seconddesc', esc_attr( $_POST['seconddesc'] ) );
   }
}
 
// ---------------
// 4. Display field under products @ Product Tag pages 
 
add_action( 'woocommerce_after_shop_loop', 'bbloomer_display_wp_editor_content', 5 );
 
function bbloomer_display_wp_editor_content() {
   if ( is_product_taxonomy() ) {
      $term = get_queried_object();
      if ( $term amp;amp; ! 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>';
      }
   }
};

//----------------------------------------------------------------------------------
// Here is my custom shortcode
// 4. Display shortcode
 
add_shortcode( 'custom_display_tag_seconddesc', 'custom_display_tag_seconddesc' );
 
function custom_display_tag_seconddesc() {
   if ( is_product_taxonomy() ) {
      $term = get_queried_object();
      if ( $term amp;amp; ! empty( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) {
         return '<div class="term-description">' . wc_format_content( htmlspecialchars_decode( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) . '</div>';
      }
   }
};
//----------------------------------------------------------------------------------


 

Комментарии:

1. Возможно, вам повезет больше wordpress.stackexchange.com