Wordpress Boilerplate - 带插件的Ajax

时间:2016-01-15 15:34:55

标签: php ajax wordpress plugins wordpress-plugin

我正致力于编写基于以下内容的Wordpress插件:http://wppb.io/

我的问题是:我正在使用Public视图并尝试使用Ajax连接后端。我使用:public / js / xxx-public.js来放置所有ajax函数句柄和Define一些钩子:

    wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/xxx-public.js', array( 'jquery' ), $this->version, false );

    wp_register_script( 'district_handle', plugin_dir_url( __FILE__ ) . 'js/xxx-public.js', array( 'jquery' ), $this->version, false );
    wp_enqueue_script( 'district_handle');

    wp_register_script( 'ret_cus_handle', plugin_dir_url( __FILE__ ) . 'js/xxx-public.js' , array( 'jquery' ), $this->version, false);
    wp_enqueue_script( 'ret_cus_handle');

    wp_register_script( 'order_ret_cus_handle', plugin_dir_url( __FILE__ ) . 'js/xxx-public.js', array( 'jquery' ), $this->version, false );
    wp_enqueue_script( 'order_ret_cus_handle'); 

有效。

但问题是:该网站将在标题中生成4个xxx-public.js。我只想要一个。

我只是一个WP插件的新手。我希望得到你的解决方案。提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用wordpress函数wp_script_is()来确定脚本是否已经入队,并在下面的条件代码中使用它。

首先为想要排队的脚本创建一个函数。

function custom-script( ) {
    wp_enqueue_script('xxx-public.js'); 
}

然后写一个条件代码。

if ( ! wp_script_is( 'custom-script', 'enqueued' ) ) {
    // your code here
}

确保从wordpress函数引用中检查wp_script_is(),因为它需要两个参数$ handle和$ list。

希望这对你有所帮助。