Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I am creating a wordpress site which will have different sections , which will essentially be pages which can be accessed through a top level menu. Now when I make a post, I dont necessarily want all the posts to appear on the front page but instead while making the post want to choose which page it should be shown in. I cannot find a way to do this in wordpress 3.x. Any help is greatly appreciated.

share|improve this question

4 Answers 4

How many of those pages you have? There are lots of way you can do this.

  1. Normally you can do it via making specific category for each pages.
  2. If you don't want to make extra category for this reason you can make tags for it.
  3. If you want to make some post that will show in homepage. You can use the post_thumbnail() feature and make query in homepage for posts which have post thumbnails only.
  4. Or you can use custom post types is special cases.
share|improve this answer
    
Can you please point me to some of the plugins that would help me do this ? –  kabir Apr 25 '11 at 10:57
    
Can't really help you with this if you not coding :) i am not really know this kinds of plugins really well. –  Sisir Apr 25 '11 at 11:22

If you are familiar with Wordpress code, then you can assign a category or tag to that post then use custom queries on the pages you want to show or hide the tag in and put something like

$query = new WP_Query('category__in=mytag');     
//or 
$query = new WP_Query('category__not_in=23');     

You may want to read this in wordpress codex.

share|improve this answer

I would solve this using the plugin Advanced Custom Fields.

1) create an ACF item with the following config enter image description here view larger

2) it will show a metabox when editing a Post, where you can select which Page the post should appear

metabox example

3) in your page template, adapt this code to your needs

<?php
// START - THE LOOP
$the_ID = $post->ID;

$search_posts = get_posts(array(
    'numberposts' => -1,
    'post_type' => 'post',
    'meta_key' => 'show_this_post_on_page'
));
if($search_posts) {
    foreach($search_posts as $post_found) {
        $key_value = get_post_meta($post_found->ID, 'show_this_post_on_page', true);
        foreach($key_value as $key => $value) {
            if($value==$the_ID) echo 'The post <strong>'.$post_found->post_title.'</strong> should appear in this page';
        }
    }
}
// END - THE LOOP
?>
share|improve this answer

If the posts don't have any similarities, you could manually add them to each page you want using the Inline Posts Plugin.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.