我正在尝试在中显示最近的自定义帖子single-events.php
我可以通过使用get_posts
我不知道如何排除激活的帖子,因此如果我正在使用下面的代码处理“事件1”,它将在“最近的事件”部分显示“事件1”。我该怎么解决这个问题?
<?php
$args = array(
\'post_type\' => \'events\',
);
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
/*编辑*/
我错过了这个:\'exclude\' => $post->ID
最合适的回答,由SO网友:Stephen Harris 整理而成
功能get_posts()
接受参数“post\\uu not\\u in”,该参数允许您指定要从查询中排除的post ID数组。get_posts()
只是一个包装WP_Query
, 因此可以找到此参数的文档here.
在回路内部时(例如内部single-events.php
) 您可以使用检索当前帖子的IDget_the_ID()
(codex). 因此,以下措施应该奏效:
$args = array(
\'post_type\' => \'events\',
\'post__not_in\' => array( get_the_ID() ),
);
$myposts = get_posts( $args );