0
問問大家,我有問題。在這裏,我嘗試使用多個chechbox到我的自定義帖子元框。如何顯示來自Metabox的Chechbox結果到單帖WordPress的?
<?php
function prodetail() {
add_meta_box('pro_metabox', 'Detail Property', 'pro_metabox', 'property', 'normal', 'default');
}
function pro_metabox() {
global $post;
echo '<input type="hidden" name="eventmeta_noncename" id="eventmeta_noncename" value="' .
wp_create_nonce(plugin_basename(__FILE__)) . '" />';
$postmeta = maybe_unserialize(get_post_meta($post->ID, 'elements', true));
$elements = array(
'pool' => 'Pool',
'garage' => 'Garage',
'balcon' => 'Balcon',
'yard' => 'Yard',
'internet' => 'Internet'
);
foreach ($elements as $id => $element) {
if (is_array($postmeta) && in_array($id, $postmeta)) {
$checked = 'checked="checked"';
} else {
$checked = null;
}
?>
<div class="pro-inn">
<div class="procols">
<div class="pro-inn">
<input type="checkbox" name="multval[]" value="<?php echo $id; ?>" <?php echo $checked; ?> />
<?php echo $element;?>
</div>
</div>
</div>
<?php
}
}
function pro_meta($post_id, $post) {
if (!wp_verify_nonce($_POST['eventmeta_noncename'], plugin_basename(__FILE__))) {
return $post->ID;
}
if (!current_user_can('edit_post', $post->ID))
return $post->ID;
if (! empty($_POST['multval'])) {
update_post_meta($post_id, 'elements', $_POST['multval']);
} else {
delete_post_meta($post_id, 'elements');
}
}
add_action('save_post', 'pro_meta', 1, 2);
?>
幫我添加代碼來顯示這個檢查結果的single.php,因爲我的代碼使用的foreach只顯示文本數組沒有表現出像游泳池車庫Balcon的ECT文本。
感謝
似乎metabox值存儲在DB中錯誤。可以發佈您的保存郵政編碼? – vel
@vel謝謝安澤,請將我的完整代碼(編輯)。 – Yayun