如何显示保存的get_post_meta值复选框
如何显示保存的复选框值或者是否未保存在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; }
?>
我很抱歉,我还是不太清楚你究竟是如何有存储你的数据。我可以看到三种可能性;如果这些都不适用于您的情况,请让我知道我出错的地方。
选项1
你必须每个属性的一个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;
}
}
?>
选项2
你有一个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;
}
}
?>
选项3
你有一个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