Поддержка WooCommerce Как вывести ссылки в заказе(админ-панель)?

  • Пытаюсь вывести кастомные ссылки после Billing в открытом заказе (после нажатие на название заказа)
    Пытаюсь найти хук, который это делает, но не могу найти.
    На просторах необъятного было найдено такое решение, но оно выводит его не в том месте, понятное дело из-за хука и column.
    Сам код:

    add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 50, 2 );
    function custom_orders_list_column_content( $column, $post_id ) {
        if ( $column == 'order_number' )
        {
            global $the_order;
    
            if( $phone = $the_order->get_billing_phone() ){
                $phone_wp_dashicon = '<span class="dashicons dashicons-phone"></span> ';
                echo '<br><a href="tel:'.$phone.'">' . $phone_wp_dashicon . $phone.'</a></strong>';
            }
    
            if( $email = $the_order->get_billing_email() ){
                echo '<br><strong><a href="mailto:'.$email.'">' . $email . '</a></strong>';
            }
        }
    }

    Вывести требуется здесь:

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Пытаюсь вывести кастомные ссылки после Billing в открытом заказе (после нажатие на название заказа)
    Пытаюсь найти хук, который это делает, но не могу найти.

    Повесьте функцию на хук woocommerce_admin_billing_fields
    (в названиях полей не используйте префикс billing_)

    Т.е. так? Так попробовал — не выводится. Можно поподробнее или же пример, или ссылку на урок и т.п.
    Спасибо!

    add_filter( 'woocommerce_admin_billing_fields', 'filter_function_name_5421' );
    function filter_function_name_5421( $array ){ 
        if ( $column == 'order_number' )
        {
            global $the_order;
    
            if( $phone = $the_order->get_billing_phone() ){
              
                echo '<br><a href="tel:'.$phone.'">' . $phone.'</a> | <a href="imessage://' . $phone.'">SMS</a> 
                | <a href="https://api.whatsapp.com/send?phone=' . $phone.'" target="_blank">Whatsapp</a>
                </strong>';
            }
    
        }
    }

    А, поняла что вам надо. Тогда лучше используйте хук woocommerce_admin_order_data_after_billing_address, он выведет кастомные поля под биллинговыми

    add_action( 'woocommerce_admin_order_data_after_billing_address', 'action_function_name_5218' );
    function action_function_name_5218( $order ) {
        if ( $column == 'order_number' )
        {
            global $the_order;
    
            if( $phone = $the_order->get_billing_phone() ){
              
                echo '<br><a href="tel:'.$phone.'">' . $phone.'</a> | <a href="//' . $phone.'">SMS</a> 
                | <a href="https://api.whatsapp.com/send?phone=' . $phone.'" target="_blank" rel="noopener noreferrer">Whatsapp</a>
                </strong>';
            }
    
        }
    }

    Попробовал вывести так — не вышло.

    • Ответ изменён 1 неделя, 3 дня назад пользователем coroner24.

    add_action( ‘woocommerce_admin_order_data_after_billing_address’, ‘action_function_name_5218’ );
    function action_function_name_5218( $order )
    Попробовал вывести так — не вышло.

    Хук правильный, функция нет. Вам лучше обратиться к специалистам за помощью, поскольку индивидуальная разработка выходит за рамки консультации на форуме

Просмотр 5 ответов — с 1 по 5 (всего 5)