Serialization Wordpress多输入自定义字段查询

Serialization Wordpress多输入自定义字段查询,serialization,metadata,wordpress,meta-key,Serialization,Metadata,Wordpress,Meta Key,我已经成功地保存了一个自定义元字段,并将多个输入保存到一篇文章中。输入如下: <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[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.
数据存储在序列化数组中

我之所以这样做,是因为我想查询这个字段的值,它们彼此相关。e、 g.查询按menuitem[标题]的menuitem[价格]排序的帖子

问题是WP查询只能读取单个键值,不能读取序列化数据

有没有更好的方法来存储元密钥,使它们相互关联

任何建议都将被采纳。
谢谢

您必须使用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>';

}
?>

每个帖子有一个元数组吗?menuitem[x][title]中的x是$post->ID吗?不,它就像一个菜单,有几个带有[title]、[price]和[section]的menuitem。很抱歉,我没有说清楚。我的问题不是如何获取每个子键的值。我的问题是如何将数据存储在数据库中,这样我就可以得到包含其值的帖子。啊..好的。。。你为什么要重新发明轮子?有很多惊人的库,可以让您创建分组字段和自定义元数据库,并且它们是定期维护的。我个人使用cmb_定制_元数据库,你可以在这里找到它啊,我不知道。我来看看这个。非常感谢。