我的 wordpress 代码有什么问题

What is wrong inside my wordpress code

我正在将样式表和 Javascript 文件添加到我的插件中。我使用了 wp_enqueue_scripts 但文件没有包含在正文中。

add_action( 'wp_enqueue_scripts', 'channelsScript');
function channelsScript()
{

    wp_enqueue_style('Chanels',plugins_url('JS/style.css'));
    wp_enqueue_style('Chanels',plugins_url('JS/style.min.css'));

    wp_register_script( 'chanelsJS',plugins_url('Chanels/JS/scrip.js'));
    wp_register_script( 'chanelsJS',plugins_url('Chanels/JS/jquery-1.9.1.js'));
    wp_register_script( 'chanelsJS',plugins_url('Chanels/JS/jquery-1.9.1.min.js'));
    wp_register_script( 'chanelsJS',plugins_url('Chanels/JS/jquery-ui.js'));

    wp_enqueue_script("chanelsJS");

    wp_localize_script('chanels','MyAjax', array( 'ajaxurl' => admin_url('admin-ajax.php')),array('jquery'),null,false);

}

我不确定当我将所有函数主体放入 admin_init 钩子然后 style.css /style/min.css 包含在主体中而不是 .js 时错误在哪里文件。

您正在使用相同的名称注册多个脚本。我不确定在使用该名称重新注册多个脚本后将 chanelsJS 排入队列时会发生什么行为,但这绝对不是您想要的。此外,您正在注册 jquery 两次,一次是缩小的,一次是未缩小的。尝试:

add_action( 'wp_enqueue_scripts', 'channelsScript');
function channelsScript()
{
    wp_enqueue_style('Chanels',plugins_url('JS/style.min.css'));

    wp_enqueue_script( 'chanelsJS',plugins_url('Chanels/JS/scrip.js'));
    wp_enqueue_script( 'chanelsJS-jquery',plugins_url('Chanels/JS/jquery-1.9.1.min.js'));
    wp_enqueue_script( 'chanelsJS-jquery-ui',plugins_url('Chanels/JS/jquery-ui.js'));


    wp_localize_script('chanelsJS','MyAjax', array( 'ajaxurl' => admin_url('admin-ajax.php')),array('jquery'),null,false);
}

请注意,我只是立即将脚本加入队列,而不是先注册它们。我还更新了本地化脚本调用中的名称。

此外,WordPress 内置了 jQuery 和 jQuery UI。除非您有充分的理由使用自己的 jQuery 版本,否则我建议您使用WordPress 版本。

编辑:我刚刚注意到您将其中一个脚本的路径指定为 Chanels/JS/scrip.js。这是正确的还是应该 Chanels/JS/script.js?