如何在Wordpress文件中添加自定义javascript代码";single.php”;


How to add custom javascript code in the Wordpress file "single.php"

我在Wordpress文件"single.php"中添加自定义javascript代码时遇到问题。我按照以下步骤操作,但没有成功。如何将javascript添加到Wordpress php文件?我不知道这是否是出于WordPress的安全目的顺便说一句,这是javascript函数

<script type="text/javascript">
function room_combobox() {
var text = "";
var i;
for (i = 0; i < 7; i++) {
text += "<option value=+i+>"+i+"</option>" +"<br>";
}
document.getElementById("combo").innerHTML = "<select name= &#8220; room-adults &#8221; id= &#8220; single-room-adult-selection &#8221; ><option><?php _e( &#8220; No. adults &#8221; , &#8220; nation &#8221; ); ?></option>"+text+"</select>";
}
</script>

谢谢!

正如adeneo所提到的,最好的方法是将脚本放在自己的文件中并链接到它。进入主题的functions.php文件并添加以下操作:

add_action("wp_enqueue_scripts", function() {
     if (is_single()) {
         wp_enqueue_script($script_handle, $path_to_script, [$script_dependencies]);
     }
});

$script_handle可以是任何你喜欢的东西。这是一个唯一的密钥,用于标识您的脚本。

$path_to_script应该指向js脚本的位置。

[$script_dependencies]应该是脚本所依赖的其他js脚本的句柄数组。Wordpress有一个内置库列表,如"jquery"。请参阅此处:默认Wordpress脚本。

只需要前两个参数。您还可以添加版本以及是否在页面的顶部或底部嵌入脚本标记。如果您想了解更多信息,请参阅wp_enqueue_script的文档。

还要注意的是,如果我没有看错的话,js代码的问题在于,实际上并没有调用room_combobox函数。将以下内容添加到脚本中--它将在文档加载时触发:

jQuery(document).ready(function() {
    room_combobox()
});