带有依赖关系的WordPress插件中的jQuery

时间:2018-10-30 作者:maztt

This is my first page of the plugin    


          <?php
        /*
        Plugin Name: guard_search plugin
        Description: Search Plugon
        Author: mazhar
        */   

wp_enqueue_script( \'my-ajax-handle\', plugin_dir_url( _FILE_ ) . \'guards_search/js/ajax.js\', array( \'jquery\' ) );
        wp_localize_script( \'my-ajax-handle\', \'the_ajax_script\', array( \'ajaxurl\' => admin_url(\'admin-ajax.php\' )));

       wp_register_style(\'jquery.formstyler\', plugin_dir_url( _FILE_ ) . \'guards_search/css/jquery.formstyler.css\');
        wp_enqueue_style(\'jquery.formstyler\');

        wp_register_style(\'jquery.formstyler\', plugin_dir_url( _FILE_ ) . \'guards_search/js/jquery.formstyler.min.js\');
        wp_enqueue_style(\'jquery.formstyler\');

        wp_register_script(\'prefix_bootstrap\', plugin_dir_url( _FILE_ ) . \'guards_search/js/bootstrap.min.js\');
        wp_enqueue_script(\'prefix_bootstrap\');

        wp_register_style(\'prefix_bootstrap\', plugin_dir_url( _FILE_ ) . \'guards_search/css/bootstrap.min.css\');
        wp_enqueue_style(\'prefix_bootstrap\');

        add_action( \'wp_ajax_models_click\', \'models_click\');
        add_action( \'wp_ajax_nopriv_models_click\', \'models_click\');

        add_action( \'wp_ajax_reset_years\', \'reset_years\');
        add_action( \'wp_ajax_nopriv_reset_years\', \'reset_years\');
这是我的ajax。js问题出在哪里styler is undefined(问题)这是我在第一页中提到的jquery FormStyler插件的一部分。

 jQuery(document).ready(function() {
   jQuery(\'input, select\').styler({
                selectSearch: true,
            });
 });
1)我的第一个问题是如何在第一页中使用jquery。

2) 我的第二个问题是我是否可以如何传输jquery。我的ajax中的FormStyler插件。js。

1 个回复
最合适的回答,由SO网友:André Kelling 整理而成

您必须加载jquery。formstyler首先在ajax中使用它。js。你可以add it as another dependancie 就像jquery本身一样。

wp_enqueue_script( \'my-ajax-handle\', plugin_dir_url( _FILE_ ) . \'guards_search/js/ajax.js\', array( \'jquery\', \'jquery.formstyler\' ) );
还有一点syntax issue 在中:

wp_register_style(\'jquery.formstyler\', plugin_dir_url( _FILE_ ) . \'guards_search/js/jquery.formstyler.min.js\');
它应该是注册的script, 不是样式。与下面的行相同wp_enqueue_style(\'jquery.formstyler\');. 添加为wp_enqueue_script(\'jquery.formstyler\'); 将脚本改为样式!

结束

相关推荐

WP入队脚本-jQuery未加载

我添加了此代码以添加jQuerywp_enqueue_script( \'jqueryadd\',\'http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\', array(),\'22.23\',true ); 但我认为这是不必要的,因为我相信wordpress附带了jquery,而wp\\u enqueue脚本提供了是否包含jquery的选项。但这是一个脚本形式的mdbootstrap。如果我删除上面的代码,它会给我一