За последние 24 часа нас посетили 22865 программистов и 1261 робот. Сейчас ищут 776 программистов ...

Не выводится инфа в доп. поле woocommerce

Тема в разделе "PHP для новичков", создана пользователем Yar86, 12 окт 2021.

  1. Yar86

    Yar86 Новичок

    С нами с:
    12 окт 2021
    Сообщения:
    1
    Симпатии:
    0
    Доброго времени суток! Помогите, пожалуйста, разобраться.
    Создал вкладку дополнительно на странице товара. Теперь хочу вывести в данной вкладке ссылки и другую информацию, но почему то ничего не выходит. Сама вкладка на странице товара появилась. Поля в админке тоже появились, я их заполнил, но на сайте инфа с полей не появилась. Может что то упустил. Код прилагаю и скрины прилагаю.
    PHP:
    1. //Своя вкладка
    2.  
    3. add_filter('woocommerce_product_tabs','add_tabs');
    4. function add_tabs($tabs){
    5.  
    6.     $tabs['new_tab'] = array(
    7.         'title'    => 'Дополнительно',
    8.         'priority' => 40,
    9.         'callback' => 'my_product_description_tab'
    10.     );
    11.  
    12.     return $tabs;
    13. };
    14.  
    15.  
    16.  
    17. //Ссылка
    18. add_action( 'woocommerce_product_options_general_product_data', 'demolink_woo_add_custom_fields' );
    19. function demolink_woo_add_custom_fields() {
    20.     echo '<div class="options_group">';// Группировка полей
    21.  
    22.     // текстовое поле
    23.     woocommerce_wp_text_input( array(
    24.         'id'          => '_demo_name',
    25.         'label'       => __( 'Надпись ссылки', 'woocommerce' ),
    26.         'placeholder' => 'Надпись',
    27.         'desc_tip'    => 'true',
    28.         'description' => __( 'Укажите надпись', 'woocommerce' ),
    29.      ) );
    30.  
    31.     // текстовое поле для ссылки
    32.     woocommerce_wp_text_input( array(
    33.         'id'          => '_demo_link',
    34.         'label'       => __( 'Ссылка', 'woocommerce' ),
    35.         'placeholder' => 'Ссылка',
    36.         'desc_tip'    => 'true',
    37.         'data_type'   => 'url',
    38.         'description' => __( 'Введите ссылку', 'woocommerce' ),
    39.     ) );
    40.  
    41.     echo '</div>';
    42.  
    43.    }
    44.  
    45. /*
    46. * Сохраняем значение полей
    47. */
    48. add_action( 'woocommerce_process_product_meta', 'demolink_woo_custom_fields_save', 10 );
    49. function demolink_woo_custom_fields_save( $post_id ) {
    50.  
    51.     update_post_meta( $post_id, '_demo_link', esc_url( $_POST['_demo_link'] ) );
    52.     update_post_meta( $post_id, '_demo_name', esc_attr( $_POST['_demo_name'] ) );
    53.  
    54.   }
    55.  
    56.  
    57. add_action( 'my_product_description_tab', 'demolink_get_link' );
    58. function demolink_get_link() {
    59.     global $post, $product;
    60.     $demo_link = get_post_meta( $post->ID, '_demo_link', true );
    61.     $demo_name = get_post_meta( $post->ID, '_demo_name', true );
    62.  
    63.      
    64.         if ( $demo_link ) {
    65.         $demo_ln = '<div class="demo-link">';
    66.         $demo_ln .= '<a href="' . $demo_link . '" class="block_link alt" target="_blank">' . $demo_name . '</a>';
    67.         $demo_ln .= '</div>';
    68.         echo $demo_ln;
    69.      
    70.      
    71.     }
    72.  
    73.   }
     

    Вложения:

    • скрин1.png
      скрин1.png
      Размер файла:
      14,3 КБ
      Просмотров:
      2
    • скрин2.png
      скрин2.png
      Размер файла:
      13,2 КБ
      Просмотров:
      2