gpt4 book ai didi

php - 如何按自定义字段日期订购 wordpress 帖子?

转载 作者:可可西里 更新时间:2023-10-31 23:21:56 27 4
gpt4 key购买 nike

我正在制作一个仅显示接下来 3 个事件的事件侧边栏部分。我已经得到了自定义帖子类型和自定义字段,但我似乎可以弄清楚如何在事件开始日期之前对帖子进行排序,这是一个自定义字段值。是否有一个 php 函数可以比较日期并将它们组织成一定的顺序。我认为它还必须保存带有新安排日期的帖子 ID,以便当我阅读这些值时,我可以显示带有该日期的适当帖子。

有没有人有指导我的方向?

我认为这是我需要做的:

  1. 通读帖子并抓取日期
  2. 使用与这些日期关联的 post-id 对日期进行排序
  3. 通读排序后的日期并按帖子 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(); ?>

最佳答案

我相信我能够回答我自己的问题。 Wordpress 有一个内置功能来比较帖子之间的自定义字段值。要比较日期,这是我的自定义字段值,它们必须采用“yyyymmdd”格式才能轻松进行比较。

我真的很惊讶我不需要进行多次循环并存储帖子 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(); ?>

关于php - 如何按自定义字段日期订购 wordpress 帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16889207/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com