我必须将HTML / CSS内置的主题转换为Wordpress主题。我是Wordpress的新手。我首先想到的是为我的主题添加自定义脚本,如下例所示:
<!-- Bootstrap Scripts -->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/bootstrap.min.js"></script>
<!-- Superslides Script -->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.superslides.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.easing.1.3.js"></script>
<!-- ScrollBar Script -->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.nicescroll.min.js"></script>
<!-- Masonry Script -->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.masonry.min.js"></script>
<!-- Fancybox Script -->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.fancybox.min.js"></script>
<!-- Settings Script -->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/settings.js"></script>
但我相信这不是添加它们的正确方法,所以我找到了另一个解决方案,但我不确定,如果我写的正确,那么我写的下一个代码就在functions.php
文件中:
// Always use wp_enqueue_scripts action hook to both enqueue and register scripts
add_action( 'wp_enqueue_scripts', 'enqueue_and_register_my_scripts' );
function enqueue_and_register_my_scripts(){
// Use `get_stylesheet_directoy_uri() if your script is inside your theme or child theme.
wp_register_script( 'my-script', get_template_directory_uri() . '/js/bootstrap.min.js' );
wp_register_script( 'my-script', get_template_directory_uri() . '/js/jquery.superslides.min.js' );
wp_register_script( 'my-script', get_template_directory_uri() . '/js/jquery.easing.1.3.js' );
wp_register_script( 'my-script', get_template_directory_uri() . '/js/jquery.nicescroll.min.js' );
wp_register_script( 'my-script', get_template_directory_uri() . '/js/jquery.masonry.min.js' );
wp_register_script( 'my-script', get_template_directory_uri() . '/js/jquery.fancybox.min.js' );
wp_register_script( 'my-script', get_template_directory_uri() . '/js/settings.js' );
// Let's enqueue a script only to be used on a specific page of the site
if ( is_page( 'careers' ) ){
// Enqueue a script that has both jQuery (automatically registered by WordPress)
// and my-script (registered earlier) as dependencies.
wp_enqueue_script( 'my-careers-script', get_template_directory_uri() . '/js/my-careers-script.js', array( 'jquery', 'my-script' ) );
}
}
如果这是正确的方法,那么我必须打电话:
<?php wp_enqueue_scripts(); ?>
header.php
文件中的? 如果这不是将多个脚本添加到Wordpress主题的正确方法,请告诉我,我做错了什么,我会非常感激......! 感谢!!!!!
答案 0 :(得分:2)
使用wp_register_script
是注册脚本以包含在页面上的正确方法,但不会将其排入队列并将其链接到页面上 - 请使用wp_enqueue_script
(它使用similar parameters但是注册和会在适当的时候将它添加到页面中)。如果您先使用wp_register_script
,则必须在某个时候致电wp_enqueue_script
,以便将其实际添加到页面中。您无需随时致电enqueue_and_register_my_scripts
:将其添加到'wp_enqueue_scripts'操作就足够了。
最后,您必须为每个要注册/排队自己的唯一 ID的脚本提供:当前您将它们全部注册为“my-script”,并且每个脚本都覆盖以前的脚本