1
我有一個稱爲「rooms」的帖子類型,每個房間都有一個元變量,如$max_person
。在single-rooms.php
所有我需要的是通過$max_person
外部javascript
文件如何使用wp_localize_script從另一個php文件傳遞參數
這是我在function.php
寫道 -
add_action("wp_enqueue_scripts", function() {
if (is_single()) {
if (get_post_type() == 'rooms') {
$max_person = get_post_meta($post->ID,'max_person',true);
$combo_parameters = array(
'max' => $max_person
);
wp_enqueue_script('room_combobox', get_template_directory_uri() . '/js/room_combobox.js', array('jquery'), '1.0' ,true);
wp_localize_script('room_combobox', 'ComboParameters', $combo_parameters);
}
}
});
,這是我的JavaScript文件
function room_combobox() {
var text = "";
var i;
var x = ComboParameters.max;
for (i = 0; i <= x; i++) {
text += "<option value="+i+">"+i+"</option>" +"<br>";
}
document.getElementById("combo").innerHTML = '<select name= "room-adults" id= "single-room-adult-selection"><option>No. adults</option>'+text+x+'</select>';
}
jQuery(document).ready(function() {
room_combobox()
});
一些原因ComboParameters.max = 0
你做完了'$ combo_parameters'變量的'var_dump'以檢查它是否具有所需的數據?我看到的一個潛在問題是您沒有將'$ post'變量聲明爲全局變量。 – 2015-02-07 18:47:58
@DominicP我如何聲明'$ post'爲全局變量 – 2015-02-07 18:58:32
在你的函數開頭添加'global $ post;'。 – 2015-02-07 19:12:21