我开发了一个使用了comments-plugin的插件开发人员指示我添加以下JavaScript:
function WPACLoadMoreComments() {
window.WPACLoadMoreCount = window.WPACLoadMoreCount || 1;
var url = (new Uri(location.href)).replaceQueryParam('WPACTake', window.WPACLoadMoreCount * 20).toString();
if (WPAC.LoadComments(url, {updateUrl: false})) {
window.WPACLoadMoreCount++;
}
}
我认为他的意思是把它放在functions.php中,但是当我插入这段代码时网站没有加载。我试着在最后插入它,我试着用
包装它<?php
the function...
?>
我该如何正确地做到这一点?
答案 0 :(得分:1)
您需要将代码添加到javascript文件enqueue it in functions.php,或通过action hook回复。
在法典中有a section about including JavaScript权利,值得一读。
答案 1 :(得分:0)
将它放在<?php ?>
之外某处的functions.php或footer.php文件中,并将其包装到<script type="text/javascript">Your function here...</script>
答案 2 :(得分:0)
将以下代码添加到您的functions.php
文件
function comment_script(){
$html = "<script type='text/javascript'>
function WPACLoadMoreComments() {
window.WPACLoadMoreCount = window.WPACLoadMoreCount || 1;
var url = (new Uri(location.href)).replaceQueryParam('WPACTake', window.WPACLoadMoreCount * 20).toString();
if (WPAC.LoadComments(url, {updateUrl: false})) {
window.WPACLoadMoreCount++;
}
}
</script>";
echo $html;
}
add_action('wp_footer','comment_script');
答案 3 :(得分:0)
这是一个Javascript函数,而不是PHP函数。这意味着您需要执行以下操作:
<?php
// Your existing PHP code here
?>
<script>
function WPACLoadMoreComments() {
window.WPACLoadMoreCount = window.WPACLoadMoreCount || 1;
var url = (new Uri(location.href)).replaceQueryParam('WPACTake', window.WPACLoadMoreCount * 20).toString();
if (WPAC.LoadComments(url, {updateUrl: false})) {
window.WPACLoadMoreCount++;
}
}
</script>
<?php
//Your remaining PHP code
?>
另一种可能性是这样做:
<?php
echo "<script>";
echo " function WPACLoadMoreComments() {";
echo " window.WPACLoadMoreCount = window.WPACLoadMoreCount || 1;";
echo "var url = (new Uri(location.href)).replaceQueryParam('WPACTake', window.WPACLoadMoreCount * 20).toString();"
echo " if (WPAC.LoadComments(url, {updateUrl: false})) {";
echo " window.WPACLoadMoreCount++;";
echo " }";
echo "}";
echo "</script>";
?>
我们这样做的原因是Javascript不是在服务器上执行,而是在用户的浏览器(客户端)上执行。因此,不需要将Javascript放在<?php ?>
标记中,因为您不希望它作为PHP代码执行。由于它将由浏览器执行,这意味着您需要此代码显示在浏览器加载的HTML文档中,因此您应该使用echo
或在<script>
标记之外的<?php ?>
标记内写入1}}
在性能方面,最好将Javascript代码放在页面的末尾。这是为了确保在用户的浏览器加载页面时由JS代码引起的任何可能的滞后都不会影响页面的呈现。