在自定义WordPress插件中包括JS文件



我正在尝试开发自己的WordPress插件,但是某种程度上我不能在其中包含JavaScript文件。在我在这里提出这个问题之前,我已经做了很多研究,但这都没有解决我的问题。我已经阅读了很多有关wp_register_script((和wp_enqueue_script((的信息,而且我不必同时包括两个,因此我决定只使用wp_enqueue_script((。

JavaScript文件位于wp-content/nappy-list-plugin/js/public/snappy-wordpress-plugin.js中,索引文件位于wp-content/snappy-list-plugin/snappy-中wordpress-plugin.php。

在Snappy-wordpress-plugin.php文件中,我有:

function mslb_public_scripts(){
wp_enqueue_script('custom_js', plugins_url( '/snappy-list-plugin/js/public/snappy-wordpress-plugin.js', __FILE__ ), array('jquery'), '', true);
}

似乎是Oke,但不包括文件。

在文件的顶部我有:

add_action('wp_enqueue_scripts', 'mslb_public_scripts');

有人可以帮我吗?

我尝试添加wp_register_script((,但它不起作用

add_action('admin_enqueue_scripts', 'mslb_public_scripts');
function mslb_public_scripts(){
    wp_enqueue_script('custom_js', plugins_url( '/snappy-list-plugin/js/public/snappy-wordpress-plugin.js', __FILE__ ), array('jquery'), '', true);
}

nappy-wordpress-plugin.js文件:

jQuery(document).ready(function($) {
    var wpajax_url = document.location.protocol + '//' +  document.location.host + '/wp-admin/admin-ajax.php';
    var email_capture_url = wpajax_url += '?action=swp_save_subscription';
    $('form.swp_form').bind('submit', function(){
        $form = $(this); 
        var form_data = $form.serialize(); 
        $.ajax({
            'method'    : 'post', 
            'url'       : email_capture_url,
            'data'      : form_data,
            'dataType'  : 'json',
            'cache'     : false,
            'success'   : function( data, textStatus){
                if(data.status == 1){
                    $form[0].reset(); 
                    alert(data.message);
                } else {
                    var msg = data.message + 'r' + data.error + 'r';
                    $.each(data.error, function(key, value){
                        msg += 'r';
                        msg += ' - ' + value;
                    });
                    alert( msg );
                }
            }, 
            'error'  : function(jqXHR, textStatus, errorThrown){
            } 
        });
        //stop the form from submitting normally
        return false; 
    });
});```

正确的动作是 wp_enqueue_scripts

 add_action('wp_enqueue_scripts', 'mslb_public_scripts');
 function mslb_public_scripts(){
   wp_register_script('custom_js', plugins_url('/js/public/snappy-wordpress-plugin.js',__FILE__ ), array('jquery'), '', true);
   wp_enqueue_script('custom_js');
 }

最新更新