根据数组

时间:2015-06-17 21:28:39

标签: php arrays wordpress

我一直在尝试使用Wordpress get_posts函数创建帖子的结构格式。我正在创建的结构基于帖子时间戳。因此,基本上具有相同时间戳的帖子将被收集在一起并显示在页面上。结构类似于

  1. TIMESTAMP(例12345678)

    POST 1,时间戳为12345678

    POST 2,时间戳为12345678

  2. TIMESTAMP(例87654321)

    POST 1,时间戳为87654321

    POST 2,时间戳为87654321

  3. 现在我尝试实现的方法是将具有相似时间戳的帖子存储在数组中。所以数组就像

    array( $timestamp => array($post1, $post2) )

    通过这个我认为我能够获得除了时间戳之外的每个帖子,然后我只会显示附加到时间戳的帖子。

    问题是我不能在同一个时间戳中存储多个值,我不确定我的代码是否有问题或者是什么。

    代码:

        foreach ($my_posts as $post) {
    
            // Get the current post details
            $post_id    = $post->ID;
            $post_title = get_the_title( $post_id  );
            $date       = get_post_meta( $post_id, 'timeline_event_date', true );
    
            // Change to format of the date ( Month Date, Year)
            $parsed = date_parse_from_format('n-d-Y', $date);
            $old_date_timestamp = mktime(
                    $parsed['hour'], 
                    $parsed['minute'], 
                    $parsed['second'], 
                    $parsed['month'], 
                    $parsed['day'], 
                    $parsed['year']
            );
            $new_date  = date('F j, Y', $old_date_timestamp);
            $post_unix_timestamp = strtotime($new_date);
    
            $eventHTML[] = array( $post_unix_timestamp => array( $post ) );
    
        }
    

    有人可以帮帮我吗?谢谢..

1 个答案:

答案 0 :(得分:1)

尝试更改此行

$eventHTML[] = array( $post_unix_timestamp => array( $post ) );

这一行

$eventHTML[$post_unix_timestamp][] = $post;