【问题标题】:WooCommerce admin order page - remove hyperlink on email and phoneWooCommerce 管理员订单页面 - 删除电子邮件和电话上的超链接
【发布时间】:2020-10-07 09:04:28
【问题描述】:

我已尝试通过将代码添加到 functions.php 来删除 WooCommerce 管理订单页面上电话和电子邮件上的超链接

我添加了以下代码

add_filter ( 'woocommerce_order_item_permalink' , '__return_false' );

但这似乎不起作用。谁能帮我解决这个问题?


为清楚起见,请参阅随附的打印屏幕:

【问题讨论】:

  • 钩子woocommerce_order_item_permalink不适用于后台,对邮箱地址和电话没有影响...注意地址和电话不保存为订单元数据,但不是订单商品元数据...
  • 好的,谢谢 - 我看看我能不能想出另一种方法。

标签: php wordpress woocommerce backend orders


【解决方案1】:

meta-boxes/class-wc-meta-box-order-data.php 中,我们在345-347 的行中找到billing_phone

if ( 'billing_phone' === $field_name ) {
    $field_value = wc_make_phone_clickable( $field_value );
}

wc_make_phone_clickable() 指的是includes/wc-core-functions.php2155-2159

function wc_make_phone_clickable( $phone ) {
    $number = trim( preg_replace( '/[^\d|\+]/', '', $phone ) );

    return $number ? '<a href="tel:' . esc_attr( $number ) . '">' . esc_html( $phone ) . '</a>' : '';
}

因此没有立即调整此过滤器的过滤器,因此您可以改用

function action_admin_footer () {
    global $pagenow;
    
    // Only on order edit page
    if ( $pagenow != 'post.php' || get_post_type( $_GET['post'] ) != 'shop_order' ) return;

    ?>
    <script>
    jQuery( document ).ready( function( $ ) {
        $( '#order_data .address a' ).each( function() {
            $( this ).replaceWith( $( this ).text() );
        });
    });
    </script>
    <?php
}
add_action( 'admin_footer', 'action_admin_footer', 10, 0 );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 2014-05-30
    • 2019-03-15
    • 2017-09-04
    • 1970-01-01
    • 2021-04-19
    • 2020-06-25
    相关资源
    最近更新 更多