从Woocommerce中删除get_customer_location Ajax事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Woocommerce中删除get_customer_location Ajax事件相关的知识,希望对你有一定的参考价值。

我正在努力理解wordpress和woocommerce。如何从wordpress主页中删除get_customer_location HTTP调用。

要求:https://www.example.com?wc-ajax=get_customer_location

目前我正在使用此源代码:

function grd_woocommerce_script_cleaner() 

    // Remove the generator tag
    remove_action( 'wp_head', array( $GLOBALS['woocommerce'], 'generator' ) );
    // Unless we're in the store, remove all the cruft!
    if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) 
        wp_dequeue_style( 'woocommerce_frontend_styles' );
        wp_dequeue_style( 'woocommerce-general');
        wp_dequeue_style( 'woocommerce-layout' );
        wp_dequeue_style( 'woocommerce-smallscreen' );
        wp_dequeue_style( 'woocommerce_fancybox_styles' );
        wp_dequeue_style( 'woocommerce_chosen_styles' );
        wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
        wp_dequeue_script( 'selectWoo' );
        wp_deregister_script( 'selectWoo' );
        wp_dequeue_script( 'wc-add-payment-method' );
        wp_dequeue_script( 'wc-lost-password' );
        wp_dequeue_script( 'wc_price_slider' );
        wp_dequeue_script( 'wc-single-product' );
        wp_dequeue_script( 'wc-add-to-cart' );
        wp_dequeue_script( 'wc-cart-fragments' );
        wp_deregister_script( 'wc-cart-fragments' );
        wp_dequeue_script( 'wc-credit-card-form' );
        wp_dequeue_script( 'wc-checkout' );
        wp_deregister_script( 'wc-checkout' );
        wp_dequeue_script( 'wc-add-to-cart-variation' );
        wp_dequeue_script( 'wc-single-product' );
        wp_dequeue_script( 'wc-cart' );
        wp_dequeue_script( 'wc-chosen' );
        wp_dequeue_script( 'woocommerce' );
        wp_deregister_script( 'woocommerce' );
        wp_dequeue_script( 'prettyPhoto' );
        wp_dequeue_script( 'prettyPhoto-init' );
        wp_dequeue_script( 'jquery-blockui' );
        wp_dequeue_script( 'jquery-placeholder' );
        wp_dequeue_script( 'jquery-payment' );
        wp_dequeue_script( 'fancybox' );
        wp_dequeue_script( 'jqueryui' );        
        wp_dequeue_script( 'cart-widget' );
        wp_deregister_script( 'cart-widget' );      
        wp_dequeue_script( 'wc-address-i18n-override' );
        wp_deregister_script( 'wc-address-i18n-override' );
    

add_action( 'wp_enqueue_scripts', 'grd_woocommerce_script_cleaner', 99 );

谢谢你的帮助。

答案

get_customer_location Ajax事件位于WC_Ajax Class,由位于assets/js/frontend/geolocation.min.js文件中的JS函数触发。

如果查看WC_Frontend_Scripts Class file,则需要使用以下命令取消注册此脚本:

wp_dequeue_script( 'wc-geolocation' );
wp_deregister_script( 'wc-geolocation' );

并在未压缩的geolocation.js文件的副本上进行必要的自定义,然后将其注册回Wordpress。

以上是关于从Woocommerce中删除get_customer_location Ajax事件的主要内容,如果未能解决你的问题,请参考以下文章

Woocommerce 从“附加信息”中删除必填字段

从结帐表单中删除 woocommerce 默认 css 类

woocommerce hook 从购物车中删除产品

WooCommerce:从 CSV 文件中删除带有 id 列表的产品 [关闭]

从 WooCommerce 中的电子邮件通知中删除 BACS 指令

从 WooCommerce 管理员中的所有产品中删除销售价格