如何顯示保存的複選框值或者是否未保存在wordpress中;如何顯示保存的get_post_meta值複選框
例如:
<?php
if($field_name_21=="bathrooms") echo 'Yes have bathrooms';
else { echo 'No have bathrooms; }
if($field_name_21=="wc") echo 'Yes have wc';
else { echo 'No have wc; }
?>
如何顯示保存的複選框值或者是否未保存在wordpress中;如何顯示保存的get_post_meta值複選框
例如:
<?php
if($field_name_21=="bathrooms") echo 'Yes have bathrooms';
else { echo 'No have bathrooms; }
if($field_name_21=="wc") echo 'Yes have wc';
else { echo 'No have wc; }
?>
我很抱歉,我還是不太清楚你究竟是如何有存儲你的數據。我可以看到三種可能性;如果這些都不適用於您的情況,請讓我知道我出錯的地方。
你必須每個屬性的一個meta值(例如,「WC」被存儲在與field_name_1
一個meta_value,「浴室」存儲在與field_name_2
一個meta_value,依此類推)。
<?php
$field_descriptions = array(
'field_name_1' => 'wc',
'field_name_2' => 'bathrooms',
'field_name_3' => 'bedrooms'
);
foreach ($field_descriptions as $field_name => $description) {
$value = get_post_meta($post->ID, $field_name, true);
if ($value) {
echo 'Yes have ' . $description;
}
else {
echo 'No have ' . $description;
}
}
?>
你有一個meta值(如稱爲field_name
),它可以有幾個值存儲在它,用分隔符(如|
)。例如,存儲的值可能看起來像wc|bedrooms
。這似乎不太可能,因爲你的問題提到了一個保存的複選框,但根據你的評論,它可能是你在做什麼。
<?php
$possible_values = array('wc', 'bathrooms', 'bedrooms');
$stored_values = explode('|', get_post_meta($post->ID, 'field_name', true));
foreach ($possible_values as $possible_value) {
if (in_array($possible_value, $stored_values)) {
echo 'Yes have ' . $possible_value;
}
else {
echo 'No have ' . $possible_value;
}
}
?>
你有一個meta值(如稱爲field_name
),它可以有 「WC」 或 「浴室」,或 「臥室」。這似乎不太可能,但爲了完整起見,我將它包括在內。
<?php
$possible_values = array('wc', 'bathrooms', 'bedrooms');
$stored_value = get_post_meta($post->ID, 'field_name', true);
foreach ($possible_values as $possible_value) {
if ($stored_value == $possible_value) {
echo 'Yes have ' . $possible_value;
}
else {
echo 'No have ' . $possible_value;
}
}
?>
非常感謝你的努力! 我可以說我們非常接近,我選擇了選項2,這在邏輯上使我們在**分裂**上跳動**警告:split():REG_EMPTY'我給你一張他的wordpress數據庫的圖片,它保存了數據: [link](http://oi58.tinypic.com/2q38xlv.jpg) – Paris
啊 - 對不起,我的意思是使用'explode()',而不是'split()'('split'需要一個正則表達式)。我已經更新了我的答案。由於某種原因無法看到圖像 – Hobo
只需再次檢查圖像,我現在就可以看到它。唯一可能改變的是你可能需要在'explode('|''調用中有一個空格,或者你可以使用正則表達式(如果你對它們很熟悉)和['preg_split'](http ://php.net/manual/en/function.preg-split.php)函數而不是'explode()'。 – Hobo
你能更加描述你的問題嗎? –
嘗試echo'$ field_name_21'中的值以顯示已存儲的值(假設您將某個變量填充到該變量中)。這樣,你就會知道在你的'if'語句中使用什麼字符串。此外,您在「沒有浴室」後錯過了結束報價,這可能是您的問題 – Hobo
我該怎麼辦? – Paris