每天保存CTP POST META不同的值,而不覆盖以前的值

时间:2016-12-05 作者:Ivan Topić

我有一个自定义的Post类型,可以获取一些数据every day 对于每个帖子,我需要存储新值while keeping the old ones. 如果我使用此选项,它将覆盖以前的数据:

update_post_meta(get_the_ID(), \'temperature\', 25);
update_post_meta(get_the_ID(), \'humidity\', 70);
update_post_meta(get_the_ID(), \'ph\', 7);
所以我想用这样的方法来给名字加上时间:

    update_post_meta(get_the_ID(), \'temperature-\' . time(), \'some_value\');
    update_post_meta(get_the_ID(), \'humidity-\' . time(), \'some_value\');
我把这一切都做好了,现在我到了我想要的地步retrieve the latest two data for each post - values for yesterday and today.这就是我被困的地方。

Is there an easier/Wordpress way for saving the different data every day for every variable inside every CTP post?

当检索这些变量时,我希望这样做,但也许我有比我应该做的更复杂的事情?

  $args = array(
        \'post_type\' => \'myctp\',
        \'posts_per_page\' => -1 // Retrieve all CTP posts
        );
  $query = new WP_Query($args);

    if($query->have_posts())   :
         while($query->have_posts())  {

             $query->the_post();
             $post_meta = get_post_meta(get_the_ID());

             // here get only 2 latest values for temperature, humidity, ph...

         }
    endif;

1 个回复
SO网友:Benoti

我同意@birgire的评论,但如果您真的想使用自定义字段,我认为最好将一篇文章的所有数据分组到一个数组中的一个自定义字段中。

之后,您只需使用get_post_meta 获取旧值并在数组中添加新值。最后,您可以将php函数应用于数组,时间限制为5天。update_post_meta 将其保存为数组,要将其放入模板中,只需创建一个显示函数。

相关推荐

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

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