基于Add columns to admin orders list in WooCommerce个应答代码,我能够向Admin Orders列表添加3个定制列:

  • 帐单邮箱,
  • 计费电话,
  • 付款方式标题.

我的代码:

add_filter( 'manage_edit-shop_order_columns', 'add_custom_columns_to_admin_orders', 20);
function add_custom_columns_to_admin_orders( $columns ) {
    $new_columns = array();
    foreach ( $columns as $column_name => $column_info ) {
        $new_columns[ $column_name ] = $column_info;

        if ( 'order_total' === $column_name ) {
            $new_columns['order_email'] = __( 'Email Address', 'my-textdomain' );
            $new_columns['order_customers_phone'] = __( 'Customers Phone', 'my-textdomain' );
            $new_columns['order_payment'] = __( 'Payment Method', 'my-textdomain' );
        }
    }
    return $new_columns;
}


add_action( 'manage_shop_order_posts_custom_column', 'custom_columns_content_in_admin_orders' );
function custom_columns_content_in_admin_orders( $column ) {
    global $post, $the_order;
    if ( 'order_email' === $column ) {
        if ( $the_order->has_status( array('completed') ) ) {
            $email_address = $the_order->get_billing_email();
            echo '<span class="order_complete"> '.$email_address.' </span>';
        } else {
            echo '<span class="order_not_complete">This Order is Not Completed!</span>';
        }
    }
    
    if ( 'order_customers_phone' === $column ) {
        echo '<label for="billing_phone" class="label-billing-email">Customer Phone Number:  </label>';
        echo '<input type="text" name="billing_phone" value="' . $the_order->get_billing_phone() . '" readonly />';
    }
    
    if ( 'order_payment' === $column ) {
        echo $the_order->get_payment_method_title();
    }
}

如何将搜索字段与计费邮箱、计费电话或付款方式标题一起使用?

enter image description here

推荐答案

基于this answer,以下选项将使管理订单可以通过以下方式进行搜索:

  • 帐单邮件,
  • 帐单电话,
  • 或付款方式标题.
add_filter( 'woocommerce_shop_order_search_fields', 'extending_admin_orders_search_field', 10, 1 );
function extending_admin_orders_search_field( $meta_keys ){
    $meta_keys[] = '_billing_email';
    $meta_keys[] = '_billing_phone';
    $meta_keys[] = '_payment_method_title';

    return $meta_keys;
}

代码位于您的子主题的unctions.php文件中(或在插件中).经过测试,效果良好.

Php相关问答推荐

更新WooCommerce高性能订单存储(HPOS)的管理员自定义订单元数据

文件大小在php下载读取文件中不可见

Symfony装置加载:try 从命名空间加载类";ClassUtils";Doctrine\Common\Util";

Chillerlan/php-iOS名称字段的QR vCard错误

莫德克斯.当我try 使用pThumb为手机压缩图像时,没有任何react

如何使用MS Graph PHP SDK V2下载文件

首先在WooCommerce我的帐户订单页面中移动操作按钮

PHP SimpleXML:按属性值访问 node

在WooCommerce管理中为订单项目添加自定义字段价格值

添加不存在的订单元数据以扩展WooCommerce针对特定产品的管理订单搜索

如果在 APIPlatform 3.1 中的同一资源上使用处理器,Messenger 将无法工作

需要以一种形式执行两个操作

PHP 解析 XML 以获取多个深度的所有字符串值

MongoDB Laravel Jenssegers 包:插入数据库时​​未定义的类常量PRIMARY

致命错误:未捕获 Google_Exception:客户端机密 JSON 文件无效.在 /somepath/lib/vendor/google/apiclient/src/Google/Client.php

加载 Xdebug PHP 7.4.0 失败

Woocommerce单个添加到购物车页面中的产品动态定价

WooCommerce单个产品页面上启用额外选项卡的产品元框字段

输出每个可能的产品选项

mysql / sql修复多对多数据库中的行