2017-01-03 11 views
0

これは非常にひどく言い過ぎかもしれません。だから私はCPTからの "今後のゲーム"と呼ばれる一連の記事を持っています。私は高度なカスタムフィールドを使用して、各ゲームのリリース日を設定しています。今、そのゲームの日付が今日の日付と等しい場合、私は何かをしたい。私は2つのシナリオを持っていますが、今のところ、最も簡単なものは何でも一緒に行きたいと思います。投稿の日付が今日の日付と等しい場合、WordPressループから投稿を削除してください

シナリオ#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

は今テストすることはできませんが、このことからいくつかのアイデアを得ることができます。あまりにもあなたのコードで

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()のパラメータとして

$arg = array('date_query' => array(
      'year' => date("Y"), 
      'month' => date("m"), 
      'day' => date("d"), 
      'inclusive' => false 
     )) 

を使用することもできました。

+0

申し訳ありませんが、私は今日の日付を意味するとき、私はちょうど日/今日、2017年1月4日ではないことを意味しました。 –

+0

私は例を与えているので、それを理解し、それを実装する。 –

+0

私はこれを私のfunctions.phpに入れますか? –

関連する問題