在 woocommerce -> 订单 -> 订单页面隐藏客户 IP 地址

问题描述 投票:0回答:1

我尽力在谷歌上搜索如何隐藏厕所订单页面中显示的客户 IP 地址,但还没有任何代码可以帮助我。order-page

我基本上只是想向商店经理展示付款方式(即:通过卡付款)。我想删除任何其他文字。

这个问题WooCommerce - 在管理面板订单详细信息页面中更改付费文本让我对如何删除付费文本有了一些了解(ps:我将其替换为“”)。

但除此之外,我不知道如何隐藏客户 IP 地址。

这个代码对我也不起作用:/

add_filter( 'update_post_metadata', 'mp1401091554', 10, 3 );

function mp1401091554( $null, $id, $key ) {
    if ( '_customer_ip_address' === $key )
        return FALSE;

    return $null;
}

提前。

php wordpress woocommerce hook-woocommerce filter-woocommerce
1个回答
0
投票

您可以使用一些CSS来隐藏IP,例如:

add_action( 'admin_head', 'admin_edit_order_css' );
function admin_edit_order_css() {
    global $pagenow, $typenow;

    if ( ( $pagenow === 'post.php' && $typenow === 'shop_order' && isset($_GET['post']) ) 
    || ( $pagenow === 'admin.php' && isset($_GET['page']) && $_GET['page'] === 'wc-orders'
    && isset($_GET['action']) && $_GET['action'] === 'edit' && isset($_GET['id']) ) ) : ?>
    <style> .woocommerce-Order-customerIP {display:none;} </style>
    <?php endif;
}

但它只会隐藏 IP 地址本身,而不会隐藏“客户 IP:”子字符串。

所以你可以使用 Javascript 来代替:

add_action( 'admin_footer', 'admin_edit_order_script' );
function admin_edit_order_script() {
    global $pagenow, $typenow;

    if ( ( $pagenow === 'post.php' && $typenow === 'shop_order' && isset($_GET['post']) ) 
    || ( $pagenow === 'admin.php' && isset($_GET['page']) && $_GET['page'] === 'wc-orders'
    && isset($_GET['action']) && $_GET['action'] === 'edit' && isset($_GET['id']) ) ) : ?>
    <script>
    jQuery('.woocommerce-Order-customerIP').remove();
    const orderNumberMeta = jQuery('.woocommerce-order-data__meta.order_number'), 
    orderNumberMetaHTML = orderNumberMeta.html();
    orderNumberMeta.html(orderNumberMetaHTML.replace('Customer IP:', ''));
    </script>
    <?php endif;
}

代码位于子主题的functions.php 文件中(或插件中)。经过测试,无论启用或不启用 HPOS,均可正常工作。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.