我试图在我的wordpress网站上以正确的方式包含来自 github( https://github.com/rendro/countdown)的插件.经过几个小时的研究,在堆栈上,我仍然无法找到一种方法使其工作.
如果我使用默认方法:
1)将这些行添加到< head>我的header.php文件:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="/path/to/jquery.countdown.js"></script>
2)在< / head>之间使用我想要的配置初始化插件和< body>在我的header.php文件中,在这种情况下:
<script>
$(function() {
var endDate = "November 30, 2015 10:00:00";
$('.countdown.styled').countdown({
date: endDate,
render: function(data) {
$(this.el).html("<div>" + this.leadingZeros(data.days, 2) + " <span>days</span></div><div>" + this.leadingZeros(data.hours, 2) + " <span>hours</span></div><div>" + this.leadingZeros(data.min, 2) + " <span>minutes</span></div><div>" + this.leadingZeros(data.sec, 2) + " <span>seconds</span></div>");
}
});
});
</script>
3)然后在我的html文件中调用插件:
<?php if(is_front_page() ) { ?>
<div id="cdtoevent" class="countcont">
<div class="countdown styled"></div>
</div>
<?php } ?>
它完美无缺!
但是,如果我尝试以正确的方式做到这一点
(如果我理解的话,wordpress默认使用jQuery,通过使用默认方法我让用户下载jquery两次,这也增加了我的加载时间,对吗?)
这意味着在我的functions.php文件中将jquery和我的脚本排入队列,如下所示:
wp_enqueue_script('jquery');
function add_cdtoevent() {
wp_enqueue_script('countdown', get_template_directory_uri() . 'countdown.js', array('jquery'), true );
}
add_action( 'wp_enqueue_scripts', 'add_cdtoevent' );
然后重复步骤2)和3)的默认方法,它根本不起作用!我尝试在步骤2)中包装我的jquery代码,就像这样:
jQuery(document).ready(function( $) {
// $Works! You can test it with next line if you like
// console.log($);
});
但它仍然无效.
如果有人可以提供帮助,我们将非常感激!
我目前在header.php中有什么:
<?php if(is_front_page() ) { ?>
<div id="cdtoevent" class="countcont">
<div class="countdown styled"></div>
</div>
<?php } ?>
我目前在footer.php中有什么:
<script type="text/javascript">
$(function() {
var endDate = "November 14, 2015 10:00:00";
$('.countdown.styled').countdown({
date: endDate,
render: function(data) {
$(this.el).html("<div>" + this.leadingZeros(data.days, 2) + " <span>days</span></div><div>" + this.leadingZeros(data.hours, 2) + " <span>hours</span></div><div>" + this.leadingZeros(data.min, 2) + " <span>minutes</span></div><div>" + this.leadingZeros(data.sec, 2) + " <span>seconds</span></div>");
}
});
});
</script>
我目前在我的functions.php中有什么:
// Loads JavaScript file with functionality specific to LCQC.
wp_enqueue_script('jquery');
function add_cdtoevent() {
wp_enqueue_script('countdown', get_template_directory_uri() . 'countdown.js', array('jquery'), true );
}
add_action( 'wp_enqueue_scripts', 'add_cdtoevent' );
The jquery plugin(.js)
最佳答案 使用函数将脚本排入队列是个好主意.但是:你在哪里调用这个功能?你需要调用它来排队你的脚本.执行此操作的最佳方法是将其附加到正确的操作(wp_enqueue_scripts):add_action(‘wp_enqueue_scripts’,’add_cdtoevent’);.
如果您想了解有关此功能的更多信息,我写了一篇关于including scripts in WordPress的指南.知道它是如何工作的很有用,因为你可以发现手动排队jQuery是没用的:你表明它是一个依赖项,所以WordPress会在需要时自动添加它.