douan8473 2016-01-14 15:41 采纳率: 100%
浏览 31
已采纳

PHP:删除数组数组中的条目

I need to display "Featured posts" randomly for each day of the week on a single page. Posts need to be current.

What I want to do: I load 7 posts in a variable using WP_Query, test each post to see if it's current, and display only the remaining ones.

Problem: I can't find how to delete an entry in a while loop.

Init of the page:

$args = array(
            'post_type' => 'listing',
            'post_status'  => 'publish',
            'post__not_in' => array($post->ID),
            'orderby' => 'date',
            'order' => 'DESC',
            'meta_key' => 'featured_calendar',
            'meta_value' => 'on',
            'posts_per_page' => 7
        );      
$featured = new WP_Query($args);
if ($featured->have_posts()) : while ($featured->have_posts()) : $featured->the_post();

$theending = get_post_meta($post->ID, 'theend', true);

        if ($theending > time()){
             echo "All Good";
        } else{
             //Delete the entry
        }

endwhile;
endif;

Inside the days of the week loop:

if ($featured->have_posts()) : while ($featured->have_posts()) : $featured->the_post();
   //Display of remaining posts
endwhile;
endif;
  • 写回答

3条回答 默认 最新

  • dongyue1988 2016-01-14 16:01
    关注

    It sounds like you should just modify the query to exclude those posts in the first place:

    $args = array(
        'post_type' => 'listing',
        'post_status'  => 'publish',
        'post__not_in' => array($post->ID),
        'orderby' => 'date',
        'order' => 'DESC',
        'meta_query' => array(
            'relation' => 'AND',
            array(
                'key' => 'featured_calendar',
                'value' => 'on',
                'compare' => '='
            ),
            array(
                'key' => 'theend',
                'value' => time(),
                'compare' => '>',
                'type' => 'NUMERIC'  // Not sure if you want a TIME here
            ),
        ),
        'posts_per_page' => 7
    ); 
    $featured = new WP_Query($args);
    

    Read more about custom field parameters in the Codex.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?