duanshang9426
2015-02-06 18:17
浏览 70
已采纳

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

I have a problem with adding custom javascript code in the Wordpress file "single.php" I follow these steps, but it didn't work How to add JavaScript to WordPress PHP file? I dont know if that's happening due to WordPress security purposes or not Btw, this is the javascript function

<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>

Thanks!

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duandeng2011 2015-02-06 18:39
    已采纳

    As adeneo mentioned, the preferred way to do this is to put the script in it's own file and link to it. Go into the functions.php file for your theme and add the following action:

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

    $script_handle can be anything you like. It's a unique key that identifies your script.

    $path_to_script should point to the location of the js script.

    [$script_dependencies] should be an array of handles to other js scripts your script depends on. Wordpress has a list of built in libraries like 'jquery'. See here: Default Wordpress Scripts.

    Only the first two parameters are required. You can also add the version and whether or not to embed the script tags on the top or bottom of the page. That's covered in the documentation for wp_enqueue_script if you want to know more.

    Note also that the issue with your js code, if I'm reading this correctly, is that you're not actually calling the room_combobox function. Add the following to your script--It will trigger on document load:

    jQuery(document).ready(function() {
        room_combobox()
    });
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题