我正在创建一个网站,我有自定义类型(插件:Types). 这些自定义类型称为“Veranstaltungen”-->它们是事件。
所有这些活动都有一个开始日期(start-datum
) 以及结束日期(end-datum
) 是自定义字段。
在我的网站主页上,我想显示其中的3个事件。
我已经让循环与我的排序顺序一起工作,我可以使用以下命令将其限制为3:
$loop = new WP_Query( array(
\'post_type\' => \'veranstaltungen\',
\'posts_per_page\' => \'3\',
\'orderby\' => \'meta_key\',
\'order\' => \'ASC\',
\'key\' => \'start-datum\',
) );
过去的事件正在显现出来。
根据自定义字段,接下来的3个事件start-datum
是那些将要出现的人。
我添加了以下if逻辑:
while( $link->have_posts() ) :
$link->the_post();
if( date( \'m d,Y\',strtotime( "today" ) ) <= types_render_field( \'end-datum\', array( \'format\' => \'m d, Y\' ) ) )
{
...
这是可行的,但循环将“过时的帖子”考虑在内,并将我的
posts_per_page
.
如果我们想想今天,我过去有两件事,我只会看到一件事。
如何解决此问题?
我试图这样做,而不是有条件的,并试图在循环中排除我的帖子,但没有成功。它只是对我的帖子进行排序并打印所有内容:
$loop = new WP_Query( array(
\'post_type\' => \'veranstaltungen\',
\'posts_per_page\'=> \'3\',
\'orderby\' => \'meta_key\',
\'order\' => \'ASC\',
\'key\' => \'end-datum\',
\'value\' => date( \'F j,Y\',strtotime( "today" ) ),
\'compare\' => \'>=\',
\'type\' => \'DATE\',
) );