自定义发布类型元值保存在数组中,而不是仅保存在字符串中(作为值)

时间:2015-02-24 作者:Francisco Corrales Morales

WordPress就是这样保存我的CPT元数据的:

 array(8) {    
 ["product_id"]=> array(1) { [0]=> string(10) "abcdefg987" }  
 ["end_date"]=> array(1) { [0]=> string(10) "02-02-2015" }  
 } 
但我希望它是这样的:

 array(8) {    
 ["product_id"]=>  "abcdefg987" ,
 ["end_date"]=>  "02-02-2015"   
 } 
那么,有可能吗?

这是我的一些代码:
to save:
update_post_meta($post_id, "end_date", $_POST["end_date"]);
The meta box:

global $post;
$custom = get_post_custom($post->ID);  
$end_date = $custom["end_date"][0]; // <- this was an old hack to this problem  
<p><label>End Date:</label><br />  
<input name="end_date" value="<?php echo $end_date; ?>"></input></p>
<小时>What I really want to do ?
我需要的是获得“end\\u date”大于今天的帖子(自定义)。因此,我有一个meta\\u查询,但不起作用,因为还会显示带有“end\\u date”的帖子<;今天,我想是因为它在数组中得到了它的值,而不仅仅是值,下面是代码:

$args = array(
    \'post_type\' => \'myEventCPT\',
    \'meta_query\' => array(
            array(  \'meta_key\' => \'end_date\',
                    \'value\' => date("m-d-Y"), // Set today\'s date 
                    \'compare\' => \'>=\', 
                    //\'type\' => \'DATE\'
            )
    )
);  
$my_event_post = get_posts( $args );

3 个回复
SO网友:Rarst

您的问题不在于存储,而在于检索。get_post_custom() 不方便,在实践中很少使用。

get_post_meta() 在实践中更为常见。注意,它有显式参数来检索单个值,而不是键的值数组(WP也可以这样做)。

SO网友:Abhisek Malakar

如果html输入名称为

name=“结束日期[]”。。。

你能再检查一下吗

SO网友:Francisco Corrales Morales

好的,我解决了(在Reddit和StackExchange的所有人的帮助下),我有几个问题
这是我的工作代码:

$args = array(
    \'numberposts\' => 1,
    \'post_type\' => \'my-cpt\',
    \'order\' => \'ASC\' ,
    \'meta_query\' => array(
            \'relation\' => \'AND\',
            array(  \'key\' => \'end_date\',
                    \'value\' => date("Y-m-d"), //today
                    \'compare\' => \'>=\', 
                    \'type\' => \'DATE\'
            ),
            array(  \'key\' => \'product_id\',
                    \'value\' => $product[\'id\'],
                    \'compare\' => \'=\',
                    \'type\' => \'CHAR\'
            ),  
    ),
);  

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在