Peachy
Peachy

Reputation: 653

Hide post from displaying in wordpress

I've inherited a wordpress site and I am having a hard time understanding how posts are being displayed. I want to hide a couple from view (but still be able to give out a URL to view them). I'm not familiar with the way a particular template was coded. The template outputs an image and blurb for each event in a certain category. The meat of code that is spitting this out look like this:

<?php 
$args['post_type']='seasonalevents';
$args['posts_per_page']=-1;
$args['orderby'] = 'menu_order';

$activities = new WP_Query( $args );


while ( $activities->have_posts() ) : $activities->the_post();
 $image_id = get_post_thumbnail_id();
     $image_url = wp_get_attachment_image_src($image_id,'thumb_345_154', true);
?>

Is there any way I can exclude post ID's within the code above? Any hints or tips? Feel totally baffled by this. The variables are defined above this code snippet. I can post if needed.

thanks!

Upvotes: 0

Views: 313

Answers (3)

JakeParis
JakeParis

Reputation: 11210

The wordpress-y way to do this would be to add an element to the $args array under the three you already have:

$args['post__not_in'] = array(123,456,789);

Where 123, 456, and 789 are the ids of the posts you want to exlude from showing on this page.

So your whole code would look like:

<?php 
$args['post_type']='seasonalevents';
$args['posts_per_page']=-1;
$args['orderby'] = 'menu_order';
$args['post__not_in'] = array(123,456,789);

$activities = new WP_Query( $args );


while ( $activities->have_posts() ) : $activities->the_post();
 $image_id = get_post_thumbnail_id();
     $image_url = wp_get_attachment_image_src($image_id,'thumb_345_154', true);
?>

Upvotes: 2

Bassem Rabia
Bassem Rabia

Reputation: 226

The easiest solution is to unpublish that post from your administration panel.

Or

<?php 
// The Loop
while($query->have_posts()): 
    $query->the_post();
    if(get_the_ID()!=YOUR_POST_ID):
    ?> 
    <!-- Show Post -->

    <?php
    endif;
endwhile;   
?>

Upvotes: -2

Michiel Dral
Michiel Dral

Reputation: 4067

Yes there is! You can get the current post's ID using http://codex.wordpress.org/Function_Reference/get_the_ID I recommend you looking into 'the loop' and what that is.

This code snippet should do the job :-)

...
$not_these = array(1, 2, 7 /* array with post id's you got somewhere */);
while ( $activities->have_posts() ) : $activities->the_post();
    if(in_array(get_the_ID(), $not_these)) continue;
    ...

Upvotes: 1

Related Questions