任何人都可以帮助我在这个错误上浪费太多时间,但没有运气
错误:附加到 a 时,Select2 不允许使用选项“ajax” 元素。
将 woocommerce 更新到 3.0.3 后,此错误显示在我的开发人员控制台中,此错误破坏了一些功能,例如无法添加追加销售和交叉文本框。
当我改变我的主题时,这个问题就会消失,我无法改变我的主题。
请帮忙。
我在我的 WordPress 网站上遇到了同样的错误,我已经修复了这个问题。
首先我想描述这个错误来自哪里。 从 WC Beta 2 开始,它们已迁移到 Select2 V4。 Select2 V4 基本上与 Select2 V3 兼容,但有一些例外,主要是 AJAX 搜索输入的工作方式。 WooCommerce 有两个受影响的实例,需要对 HTML 标记进行一些更改才能正常运行。 例如
<input type="hidden" id="grant_access_id" name="grant_access_id" data-multiple="true" class="wc-product-search" style="width: 400px;" data-placeholder="<?php esc_attr_e( 'Search for a downloadable product…', 'woocommerce' ); ?>" data-action="woocommerce_json_search_downloadable_products_and_variations" />
更改为
<select id="grant_access_id" class="wc-product-search" name="grant_access_id[]" multiple="multiple" style="width: 400px;" data-placeholder="<?php esc_attr_e( 'Search for a downloadable product…', 'woocommerce' ); ?>" data-action="woocommerce_json_search_downloadable_products_and_variations"></select>
在 wordpress 中,我看到 select2 取得了控制权,并且我尝试在 function.php 中禁用 select2 加载。你可以在下面看到我的脚本
add_action( 'admin_enqueue_scripts', 'remove_views_select2' );
function remove_views_select2($hook) {
if ( ( $hook == 'post.php' || $hook == 'post-new.php' ) ) {
wp_deregister_script( 'select2' );
// wp_register_script( 'views-select2-script' , 'http://your-site.com/wp-content/plugins/meta-box/js/select2/select2.min.js', array('jquery'), 3.2);
}
}
所以这对我来说效果很好。祝你好运 ! 😉
在functions.php中添加此代码,问题就为我解决了:)
function mgt_dequeue_stylesandscripts() {
// Only dequeue styles and scripts if we are in the admin area
if (is_admin()) {
// Dequeue existing Select2 styles and scripts
wp_dequeue_style('select2');
wp_deregister_style('select2');
wp_dequeue_script('select2');
wp_deregister_script('select2');
// Enqueue the Select2 styles and scripts from the CDN
wp_enqueue_style("select2", "https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css");
wp_enqueue_script("select2", "https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js", array('jquery'), null, true);
}
}
add_action('admin_enqueue_scripts', 'mgt_dequeue_stylesandscripts', 100);