Javascript WooCommerce加载到资产的错误路径
我有一个与WC可湿性粉剂网站,这是工作良好,以我所知。我最近注意到很多功能在WooCommerce中不起作用(如查询功能、显示/隐藏框等) 我已经确定了这一点: 需要从正确的路径加载文件。看起来WC在路径中添加了两次url 文件的正确路径: 所谓: 我确定了源文件,但找不到任何会导致此路径与其他调用不同的内容。我肯定我错过了什么。代码如下:Javascript WooCommerce加载到资产的错误路径,javascript,php,jquery,wordpress,woocommerce,Javascript,Php,Jquery,Wordpress,Woocommerce,我有一个与WC可湿性粉剂网站,这是工作良好,以我所知。我最近注意到很多功能在WooCommerce中不起作用(如查询功能、显示/隐藏框等) 我已经确定了这一点: 需要从正确的路径加载文件。看起来WC在路径中添加了两次url 文件的正确路径: 所谓: 我确定了源文件,但找不到任何会导致此路径与其他调用不同的内容。我肯定我错过了什么。代码如下: public function load_scripts() { global $post, $wp; $suffix
public function load_scripts() {
global $post, $wp;
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
$lightbox_en = get_option( 'woocommerce_enable_lightbox' ) == 'yes' ? true : false;
$ajax_cart_en = get_option( 'woocommerce_enable_ajax_add_to_cart' ) == 'yes' ? true : false;
$assets_path = str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/';
$frontend_script_path = $assets_path . 'js/frontend/';
// Register any scripts for later use, or used as dependencies
wp_register_script( 'chosen', $assets_path . 'js/chosen/chosen.jquery' . $suffix . '.js', array( 'jquery' ), '1.0.0', true );
wp_register_script( 'jquery-blockui', $assets_path . 'js/jquery-blockui/jquery.blockUI' . $suffix . '.js', array( 'jquery' ), '2.60', true );
wp_register_script( 'jquery-payment', $assets_path . 'js/jquery-payment/jquery.payment' . $suffix . '.js', array( 'jquery' ), '1.0.2', true );
wp_register_script( 'wc-credit-card-form', $assets_path . 'js/frontend/credit-card-form' . $suffix . '.js', array( 'jquery', 'jquery-payment' ), WC_VERSION, true );
wp_register_script( 'wc-add-to-cart-variation', $frontend_script_path . 'add-to-cart-variation' . $suffix . '.js', array( 'jquery' ), WC_VERSION, true );
wp_register_script( 'wc-single-product', $frontend_script_path . 'single-product' . $suffix . '.js', array( 'jquery' ), WC_VERSION, true );
wp_register_script( 'wc-country-select', $frontend_script_path . 'country-select' . $suffix . '.js', array( 'jquery' ), WC_VERSION, true );
wp_register_script( 'wc-address-i18n', $frontend_script_path . 'address-i18n' . $suffix . '.js', array( 'jquery' ), WC_VERSION, true );
wp_register_script( 'jquery-cookie', $assets_path . 'js/jquery-cookie/jquery.cookie' . $suffix . '.js', array( 'jquery' ), '1.3.1', true );
在定义路径时最好使用常量。至少这样,它们不能被覆盖 e、 g 你可以在任何地方使用它:
wp_register_script( 'chosen', AD_PATH . '/assets/js/chosen/chosen.jquery' . $suffix . '.js', array( 'jquery' ), '1.0.0', true );
我遇到了这个问题,它似乎是由
根相对URL
插件引起的。禁用这个有问题的插件(似乎对WP-Mail
也有负面影响)似乎可以解决我的问题。尝试更改$frontend\u-script\u-path=$assets\u-path.js/frontend/'
至$frontend\u script\u path=$assets\u path代码>谢谢你的回复。进行了更改,但没有修复,仍然加载相同的路径。作为临时修复,我硬编码了路径值,但显然这只是在找到更好的解决方案之前。这里有其他反馈吗?当我将WooCommerce升级到2.2(可能在该版本之前发生,因为我从2.0.20升级)时,我也遇到了这个问题,而这在升级之前并没有发生。
wp_register_script( 'chosen', AD_PATH . '/assets/js/chosen/chosen.jquery' . $suffix . '.js', array( 'jquery' ), '1.0.0', true );