php – 按日期排序高级自定义字段中的对象
作者:互联网
嗨,我在高级自定义字段中有一个帖子对象字段,我希望返回多个帖子,按日期排序.我有来自那些帖子的自定义字段数据返回正常,但邮件对象按邮政ID的顺序返回.我希望它们能够在帖子发布之日前订购.
<?php $post_objects = get_field('exhibitions');
if( $post_objects ): ?>
<?php foreach( $post_objects as $post_object): ?>
<a href="<?php echo get_permalink($post_object->ID); ?>">
<div style="display: inline-block">
<? if( get_field( 'title', $post_object->ID) ): ?>
<em><?php the_field('title', $post_object->ID); ?></em><br>
<?php endif; ?>
<? if( get_field( 'dates', $post_object->ID) ): ?>
<?php the_field('dates', $post_object->ID); ?>
<?php endif; ?>
</div>
</a>
<br><br>
<?php endforeach; ?>
<?php endif; ?>
这将从调用此文章的帖子的“帖子对象”字段中选择的每个帖子返回文本自定义字段“标题”和“日期”.
我希望帖子按照发布日期的顺序返回此处.
有任何想法吗?
解决方法:
好的,我已经弄清楚了!
您不是将get_field作为post_objects调用,而是将其称为变量,只是为了获取相关帖子的ID,然后在数组中使用它来获取get_posts的$args.这样,您可以在运行循环之前访问get_posts的所有数组选项.
<?php
$ids = get_field('exhibitions', false, false);
$args = array(
'post__in' => $ids,
'orderby' => 'post_date',
);
$post_objects = get_posts( $args );
if( $post_objects ): ?>
<?php foreach( $post_objects as $post_object): ?>
<a href="<?php echo get_permalink($post_object->ID); ?>">
<div style="display: inline-block">
<? if( get_field( 'title', $post_object->ID) ): ?>
<em><?php the_field('title', $post_object->ID); ?></em><br>
<?php endif; ?>
<? if( get_field( 'dates', $post_object->ID) ): ?>
<?php the_field('dates', $post_object->ID); ?>
<?php endif; ?>
</div>
</a>
<br><br>
<?php endforeach; ?>
<?php endif; ?>
谢谢你的帮助!
找到我的答案谢谢:http://support.advancedcustomfields.com/discussion/5846/adding-args-to-post_objects-get_field/p1
标签:wordpress,php,custom-fields 来源: https://codeday.me/bug/20190529/1178405.html