javascript 如何通过自定义字段日期排序wordpress帖子?

ntjbwcob  于 2023-01-16  发布在  Java
关注(0)|答案(1)|浏览(127)

我正在做一个事件侧边栏部分,将只显示未来3个事件。我已经得到了自定义帖子类型和自定义字段都工作,但我似乎可以弄清楚如何按事件的开始日期排序帖子,这是一个自定义字段值。有没有一个php函数可以比较日期并将它们组织成一定的顺序。我认为它还必须保存后-id与新安排的日期,以便当我通读这些值时,我可以显示具有该日期的适当帖子。
有人能给我指明方向吗?
我想这就是我需要做的:
1.浏览帖子并获取日期
1.使用与日期关联的post-id对日期进行排序
1.通读排序的日期,并按post-id重新显示前3个帖子
我迷失了如何编码,虽然...这是我到目前为止。这个代码只是显示他们的出版日期在wordpress。

<?php query_posts('post_type=events');
            if (have_posts()) : while (have_posts()) : the_post(); ?>
                <?php $dateStart = get_post_meta($post->ID, 'date-start', true);?>
                <div class="date"><?php echo $dateStart; ?></div>

<?php endwhile; endif; wp_reset_query();  ?>
xzv2uavs

xzv2uavs1#

我相信我能够回答我自己的问题。WordPress有一个内置的功能来比较文章之间的自定义字段值。要比较日期,这是我的自定义字段值,他们必须在'yyyymmdd'格式,以便能够轻松地比较他们。
我真的很惊讶我不需要做多个循环和存储post-id或任何东西。无论如何,我希望这对其他人有帮助。:]

<?php 
        $args = array(
           'post_type' => 'events',
           'posts_per_page' => 3, //limited myself to 3 posts
           'meta_key' => 'date-start', //name of custom field
           'orderby' => 'meta_value_num', 
           'order' => 'ASC'
        );
        query_posts($args);
        if (have_posts()) : while (have_posts()) : the_post(); ?>
            //Insert code here...
            //Test to see if it is sorting the posts (below)
            <?php $dateStart = get_post_meta($post->ID, 'date-start', true); echo $dateStart;?>

<?php endwhile; endif; wp_reset_query();  ?>

相关问题