我可以写得非常糟糕。所以我有一系列来自CPT的帖子叫做#34;即将到来的游戏"。我正在使用高级自定义字段来设置每个游戏的发布日期。现在,当该游戏的日期等于今天的日期时,我希望它能够做些什么。我有两个场景,但是现在想要最简单的事情。
场景#1 =该帖子的草稿
场景#2 * =从循环中删除该帖子,因此它不会出现在前端,因此它仍然已发布
*我的理想选择
这是我循环的一部分:
$time = current_time( 'timestamp' ); // Get current unix timestamp
$cpt_posts_per_page = ( is_front_page() ) ? 4 : -1;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'upcoming-games',
'post_status' => 'publish',
'orderby' => 'meta_value',
'meta_key' => 'release_date',
'meta_value' => $time,
'meta_compare' => '>=',
'order' => 'ASC',
'posts_per_page' => $cpt_posts_per_page,
'paged' => $paged
);
$upcoming_games = new WP_Query( $args );
?>
答案 0 :(得分:0)
现在无法测试,但你可以从中得到一些想法。
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = ctx.getRequest();
request.getServletPath();
在您的代码中也可以使用
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
function custom_pre_get_posts_query( $q ) {
if ( ! $q->is_main_query() ) return;
if ( ! $q->is_post_type_archive() ) return;
if ( ! is_admin() && (is_blog() || is_archive()) ) {
$q->set( 'date_query', array(array(
'year' => date("Y"),
'month' => date("m"),
'day' => date("d"),
'inclusive' => false
)));
}
remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
作为WP_Query()参数。