WP_Query:在特定时间内按特定顺序显示帖子
WP_Query: Show posts in a certain order for a certain time
我想在我的主页上以 post__in
下指定的顺序显示每个 post 一天。这意味着首先应该显示 ID 为 3 的 post 直到 23:59:59,然后是 ID 为 1 的 post 显示 24 小时直到 23:59:59,然后是 post ID 2 等等。当显示所有 post 时,它应该从头开始。有人知道如何实现吗?
function post_of_the_day( $query_args) {
global $post;
$query_args = array(
'post_type' => 'example_post_type',
'posts_per_page' => 1,
'post__in' => array(3, 1, 2, 4, 7, 6, 5)
);
return $query_args;
}
如果一周中的每一天只需要一个 post,您可以使用 PHP 的 date() function
, with the 'w'
format string. It returns 0
for Sunday, 1
for Monday, 6
for Saturday, etc. Then you can use that as an index to find the one post ID you want from your array, and use the 'p'
argument in your WP_Query()
arguments
function post_of_the_day( $query_args ){
$post_ids = array( 3, 1, 2, 4, 7, 6, 5 ); // List of available ID's
$id_index = absint( date('w') ); // 0-6 based on day of the week
$query_args = array(
'p' => $post_ids[$id_index], // 3 on Sun, 1 on Mon, 5 on Sat
'post_type' => 'example_post_type' // Your post type
);
return $query_args;
}
如果您只需要一个,则无需使用 post__in
查询所有 7 个 post。通常,您希望尝试检索尽可能少的信息以提高速度、优化和易于维护。
我想在我的主页上以 post__in
下指定的顺序显示每个 post 一天。这意味着首先应该显示 ID 为 3 的 post 直到 23:59:59,然后是 ID 为 1 的 post 显示 24 小时直到 23:59:59,然后是 post ID 2 等等。当显示所有 post 时,它应该从头开始。有人知道如何实现吗?
function post_of_the_day( $query_args) {
global $post;
$query_args = array(
'post_type' => 'example_post_type',
'posts_per_page' => 1,
'post__in' => array(3, 1, 2, 4, 7, 6, 5)
);
return $query_args;
}
如果一周中的每一天只需要一个 post,您可以使用 PHP 的 date() function
, with the 'w'
format string. It returns 0
for Sunday, 1
for Monday, 6
for Saturday, etc. Then you can use that as an index to find the one post ID you want from your array, and use the 'p'
argument in your WP_Query()
arguments
function post_of_the_day( $query_args ){
$post_ids = array( 3, 1, 2, 4, 7, 6, 5 ); // List of available ID's
$id_index = absint( date('w') ); // 0-6 based on day of the week
$query_args = array(
'p' => $post_ids[$id_index], // 3 on Sun, 1 on Mon, 5 on Sat
'post_type' => 'example_post_type' // Your post type
);
return $query_args;
}
如果您只需要一个,则无需使用 post__in
查询所有 7 个 post。通常,您希望尝试检索尽可能少的信息以提高速度、优化和易于维护。