如何在 Woocommerce 中通过计费电话搜索客户

Posted

技术标签:

【中文标题】如何在 Woocommerce 中通过计费电话搜索客户【英文标题】:How to search customer by billing phone In Woocommerce 【发布时间】:2019-03-06 19:26:05 【问题描述】:

我正在尝试使用 billing_phone 或 billing_address 等元数据或其他元数据进行 woocommerce 客户端搜索。

我发现的唯一一件事是您可以通过昵称名字或电子邮件进行搜索。

【问题讨论】:

@LoicTheAztec 这不是一个问题,而是一个答案。这是为了帮助社区。我的英语也很基础。哈哈哈,谢谢你帮我。我应该换个帖子吗? thnkyou @LoicTheAztec,我编辑了。每天我都会学到一些新东西 【参考方案1】:

此代码允许通过元数据搜索客户...我在 Wordpress 中自定义了 searchform.php 以使用本地搜索器:

<h3>buscar por otro termino (direccion , telefono, ciudad , etc)</h3>
<form role="search" method="get" id="searchform" class="searchform" action="<?php echo site_url('/'); ?>">
    <div class="user-form">
        <label class="screen-reader-text" for="s">Search for:</label>
        <input type="text" value="<?php echo get_search_query(); ?>" name="s" id="s" />
        <input type="submit" id="searchsubmit" value="Search" />
    </div>
</form> 

<?php
if( $_GET['s'] ) 

    $search_term = sanitize_text_field( stripslashes( $_GET['s']));


// WP_User_Query arguments
  $args = array (
        'role'       => 'customer',
        'order'      => 'asc',
        'orderby'    => 'display_name',
        'meta_query' => array(
            'relation' => 'or',
            array(
                'key'     => 'nickname',
                'value'   => $search_term,
                'compare' => 'like'
            ),
            array(
                'key'     => 'last_name',
                'value'   => $search_term,
                'compare' => 'like'
            ),
            array(
                'key'     => 'billing_phone',
                'value'   => $search_term,
                'compare' => 'like'
           ),
            array(
                'key'     => 'billing_address_1',
                'value'   => $search_term,
                'compare' => 'like'
           )

        )
    );

// Create the WP_User_Query object
$wp_user_query = new WP_User_Query( $args );

// Get the results
$authors = $wp_user_query->get_results();

// Check for results
if ( ! empty( $authors ) ) 
    echo '<ul>';
    // loop through each author
    foreach ( $authors as $author ) 
        // get all the user's data
        $author_info = get_userdata( $author->ID );


        echo '<li>' . $author_info->nickname . ' ' . $author_info->last_name . '</li>';

                echo '<li>' . $author_info->billing_phone . '</li><br>';
                 echo '<li>' . $author_info->billing_address_1 . '</li><br>';


  echo '<a href="'. um_user_profile_url( $author->ID ) .'">'. esc_attr( $author_info->user_nicename ) .'</a>';
  //echo '<a href="'. /user( $author->ID ) .'">'. esc_attr( $author_info->user_nicename ) .'</a>';

    
    echo '</ul>';
 

else 
    echo 'No authors found';



?>

【讨论】:

以上是关于如何在 Woocommerce 中通过计费电话搜索客户的主要内容,如果未能解决你的问题,请参考以下文章

避免在 WooCommerce 结帐中进行计费电话验证

Woocommerce 设置计费和运输信息

如何使用 javascript 在 woocommerce 中通过 Api Rest 添加到购物车?

在 Firebase 云功能中通过 nodemailer 发送邮件是不是需要计费帐户?

在 Woocommerce 3 中通过 ajax 提交并在结帐时创建订单

在 Laravel Auth() 中通过电子邮件/电话号码登录