【问题标题】:How to call css stylesheets and js files into a custom WordPress theme如何将 css 样式表和 js 文件调用到自定义 WordPress 主题中
【发布时间】:2016-12-26 07:16:05
【问题描述】:

我正在从头开始开发一个自定义 WordPress 主题,现在我遇到了加载 css 和 js 文件的问题。我到处搜索以查看如何加载这些文件,我在functions.php 文件上执行了此操作:

    <?php 
function catalog(){
    wp_enqueue_style('bootstrap', get_template_directory_uri() . 'css/bootstrap.min.css');
    wp_enqueue_style('style', get_stylesheet_uri());
    wp_register_script( 'custom-script', get_template_directory_uri() . '/js/bootstrap.min.js', array( 'jquery' ) );
    wp_register_script( 'custom-script', get_template_directory_uri() . '/js/imagesloaded.pkgd.min.js', array( 'jquery' ) );
    wp_register_script( 'custom-script', get_template_directory_uri() . '/js/jquery.js', array( 'jquery' ) );
    wp_register_script( 'custom-script', get_template_directory_uri() . '/js/masonry.pkgd.min.js', array( 'jquery' ) );
    wp_register_script( 'custom-script', get_template_directory_uri() . '/js/offcanvas.js', array( 'jquery' ) );
    wp_enqueue_style('style', get_stylesheet_uri());
}
add_action('wp_enqueue_scripts','catalog');
register_nav_menus(array(
    'primary' => __('Primary Menu'),
    'footer' => __('Footer Menu'),
));
?>

所以我不知道这里到底出了什么问题,因为我已经检查了所有内容,看起来还不错。这是我的文件夹结构:

theme_folder
            css
                  bootstrap.min.css
            images
            js
                  bootstrap.min.js
                  imagesloaded.pkgd.min.js
                  jquery.js
                  masonry.pkgd.min.js
                  offcanvas.js

但毕竟我得到了这个结果,这意味着它们没有被加载:

【问题讨论】:

  • 如果我错了,请纠正我,因为我曾经使用过 WordPress 主题,你不想使用 wp_register_script 然后运行 ​​wp_enqueue_script 吗?同样,这只是我的想法,我可能完全错了。

标签: javascript php css wordpress custom-wordpress-pages


【解决方案1】:

问题您正在注册一个脚本,但没有入队。

解决方案: 如果您已注册,则必须排队。 wp_enqueue_style() - 用于 css 入队 wp_enqueue_script()- 用于 JS 入队

更新代码

 <?php 
function catalog(){
    wp_enqueue_style('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css');
    wp_enqueue_style('style', get_stylesheet_uri());
    wp_enqueue_script( 'custom-script-bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js', array( 'jquery' ) );
    wp_enqueue_script( 'custom-script-imgesload', get_template_directory_uri() . '/js/imagesloaded.pkgd.min.js', array( 'jquery' ) );
    wp_enqueue_script( 'custom-script-jquery', get_template_directory_uri() . '/js/jquery.js', array( 'jquery' ) );
    wp_enqueue_script( 'custom-script-masonry', get_template_directory_uri() . '/js/masonry.pkgd.min.js', array( 'jquery' ) );
    wp_enqueue_script( 'custom-script-offcanvas', get_template_directory_uri() . '/js/offcanvas.js', array( 'jquery' ) );
}
add_action('wp_enqueue_scripts','catalog');
register_nav_menus(array(
    'primary' => __('Primary Menu'),
    'footer' => __('Footer Menu'),
));
?>

推荐

对于 css 和 js,如 jquery、bootstrap 等,始终首选 CDN。

【讨论】:

  • 您还应该使用不同的名称,而不是在所有 wp_enqueue_script() 调用中使用相同的 custom-script
  • 是的,为什么不更可取
  • 否则只有最后一个具有该名称的 javascript 文件将被加入队列
  • 请再次检查。
  • 不要删除 style.css。这是主题而不是插件。
【解决方案2】:

尝试这样的事情。

在您的模板中添加 css 文件,如下所示...

<link rel="stylesheet" href="<?php bloginfo('template_directory');?>/css/bootstrap.min.css">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多