我已设法将多个输入的自定义元字段保存到帖子中。输入结果如下:
<input type="text" name="menuitem[1][title]" />
<input type="text" name="menuitem[1][section]" />
<input type="text" name="menuitem[1][price]" />
<input type="text" name="menuitem[2][title]" />
<input type="text" name="menuitem[2][section]" />
<input type="text" name="menuitem[2][price]" /> etc.
数据存储在序列化数组中。
我这样做的原因是因为我想查询这个字段的值,彼此相关。 (例如,查询按menuitem [title]的menuitem [price]排序的帖子)。
问题是WP查询只能读取单个键值而无法读取序列化数据。
有没有更好的方法来存储元键,以便它们彼此相关?
任何建议都会得到满足。 谢谢
答案 0 :(得分:0)
你必须使用foreach
示例:
<?php
$entries = get_post_meta($post->ID, '_your_metabox_group_id', true );
foreach ( (array) $entries as $key => $entry ) {
$title = $section = $price = '';
if ( isset( $entry['_your_title_meta_id'] ) )
$title = get_post_meta($post->ID, '_your_title_meta_id', true);
if ( isset( $entry['_your_section_meta_id'] ) )
$section = get_post_meta($post->ID, '_your_section_meta_id', true);
if ( isset( $entry['_your_price_meta_id'] ) )
$price = get_post_meta($post->ID, '_your_price_meta_id', true);
// your output e.g
// echo '<span class="some-class">'.$title.'</span>';
}
?>