为了账号安全,请及时绑定邮箱和手机立即绑定

如何在我创建的 wordpress 中将我的主题中的 javascript 排入队列?

如何在我创建的 wordpress 中将我的主题中的 javascript 排入队列?

PHP
幕布斯6054654 2022-07-22 16:56:51
我将 html、css、js 模板转换为 wordpress 主题。为了让我的css正常工作,我只是在functions.php中添加了函数,但是为了让javascript加入队列它不起作用我尝试了很多修改但没有任何效果这是我的function.php<?phpfunction load_stylesheets(){    wp_register_style('normal',get_template_directory_uri() . '/css/normalize.css',  array(), 1, 'all');  wp_enqueue_style('normal');        wp_register_style('demonstration',get_template_directory_uri() . '/css/demo.css',  array(), 1, 'all');  wp_enqueue_style('demonstration');}add_action('wp_enqueue_scripts','load_stylesheets');function addjs(){        wp_register_script('anime', get_template_directory_uri() . '/js/anime.min.js', array(), 1,1, 1);  wp_enqueue_script('anime');      wp_register_script('imagesload', get_template_directory_uri() . '/js/imagesloaded.pkgd.min.js', array(), 1,1, 1);  wp_enqueue_script('imagesload');      wp_register_script('main', get_template_directory_uri() . '/js/main.js', array(), 1,1, 1);  wp_enqueue_script('main');      }
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

请试试这个


add_action('wp_footer','addjs');


function addjs() {


    wp_register_script('anime', get_template_directory_uri() . '/js/anime.min.js', array ('jquery'),'',true);


    wp_register_script('imagesload', get_template_directory_uri() . '/js/imagesloaded.pkgd.min.js', array ('jquery'),'',true);



    wp_register_script('main', get_template_directory_uri() . '/js/main.js', array ('jquery'),'',true);


}


查看完整回答
反对 回复 2022-07-22
?
MM们

TA贡献1886条经验 获得超2个赞

wp_enqueue_scripts 是在将要出现在前端的脚本和样式排入队列时使用的正确钩子。尽管有这个名字,但它用于将脚本和样式排入队列。

因此,您必须在一个函数中添加脚本和样式,或者您可以使用现有代码再添加一个 wordpress 操作。

add_action( 'wp_enqueue_scripts', 'addjs' );


查看完整回答
反对 回复 2022-07-22
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

它的短而甜的是你没有在addjs任何地方调用你的函数。如果您添加:

add_action( 'wp_enqueue_scripts', 'addjs' );

然后它应该工作。(注意:以上不适用于任何人,请查看下面的编辑

但是,您应该注意以下几点:

  • 确保您的缩进/间距一致,并且行后没有多余的空格。干净的代码是关键!

  • 不需要单独添加 JS 和 CSS 文件,它们都可以在同一个add_action函数回调中处理。

  • 除非您正在做一些非常花哨的事情(仅在页面上找到短代码时才入队等),wp_enqueue_{script/style}否则将为您处理该wp_register_{script/style}功能。在大多数情况下,您可以使用enqueue它们而不是注册然后将它们加入队列

  • 查看文档并确保您的参数与函数接受的参数相同。它将防止在更极端的情况下出现警告和错误。

这是为您整理的示例:

add_action( 'wp_enqueue_scripts', 'enqueue_theme_assets' );

function enqueue_theme_assets(){

    // Styles

    wp_enqueue_style( 'normal', get_template_directory_uri() . '/css/normalize.css', array(), '1.0' );

    wp_enqueue_style( 'demonstration', get_template_directory_uri() . '/css/demo.css', array(), '1.0');


    // Scripts

    wp_enqueue_script( 'anime', get_template_directory_uri() . '/js/anime.min.js', array(), '1.0', true );

    wp_enqueue_script( 'imagesload', get_template_directory_uri() . '/js/imagesloaded.pkgd.min.js', array(),'1.0', true );

    wp_enqueue_script( 'main', get_template_directory_uri() . '/js/main.js', array(), '1.0', true );

}

编辑:

我刚刚看到你的评论add_action( 'wp_enqueue_scripts', 'addjs' );不起作用。看看wp_enqueue_script()文档。您会在#Usage部分注意到,它正确地将脚本排入wp_enqueue_scripts钩子依赖于主题中使用的wp_footer()wp_head()函数,因此**确保您已wp_footer();在主题中调用,特别是因为您将$in_footer参数设置为true.


查看完整回答
反对 回复 2022-07-22
  • 3 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信