从循环中排除自定义POST类型的问题

时间:2011-10-03 作者:remi90

早上好,

我在从索引中排除自定义帖子类型“事件”时遇到了一些问题。我的博客页面的php循环。

我只是想显示我实际博客中的帖子,我假设它属于帖子类型“post”,但当我尝试显示“post”类型时,它也会显示我的“events”帖子类型。

以下是我的循环代码:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
            <div class="individualPost">
                <h1 class="bottomBorder"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1>

                 <ul class="blogMeta">
                     <li><?php the_time(\'F jS, Y\') ?> by <?php the_author_posts_link() ?></li>
                     <li>Posted in <?php the_category(\', \'); ?></li>
                 </ul>
                 <?php if (has_post_thumbnail( $post->ID )): ?>
                    <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'full\' ); ?>
                    <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><img src="<?php bloginfo(\'template_directory\'); ?>/thumbs.php?src=<?php echo $image[0]; ?>&w=615&h=200&zc=1" alt="<?php the_title(); ?>" /></a>
                 <?php endif; ?>    
                 <!-- Display the Post\'s Content in a div box. -->
                   <?php the_excerpt(); ?>
            </div>
       <?php endwhile;?>
       <?php else : ?>

        <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
            <h1>Not Found</h1>
        </div>

       <?php endif; ?>
我也试过这个,但运气不好:

<?php $loop = new WP_Query( array( \'post_type\' => \'post\', \'posts_per_page\' => 5 ) ); ?>
        <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
            <div class="individualPost">
                <h1 class="bottomBorder"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1>

                 <ul class="blogMeta">
                     <li><?php the_time(\'F jS, Y\') ?> by <?php the_author_posts_link() ?></li>
                     <li>Posted in <?php the_category(\', \'); ?></li>
                 </ul>
                 <?php if (has_post_thumbnail( $post->ID )): ?>
                    <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'full\' ); ?>
                    <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><img src="<?php bloginfo(\'template_directory\'); ?>/thumbs.php?src=<?php echo $image[0]; ?>&w=615&h=200&zc=1" alt="<?php the_title(); ?>" /></a>
                 <?php endif; ?>    
                 <!-- Display the Post\'s Content in a div box. -->
                   <?php the_excerpt(); ?>
            </div>
       <?php endwhile;?>
谢谢

3 个回复
最合适的回答,由SO网友:Henry 整理而成

请尝试使用以下选项“if (have posts()..“”

$args = array(
    \'post_type\' => \'post\',
    \'orderby\'   => \'rand\',
    \'showposts\' => \'1\'
);
query_posts( $args );

SO网友:w3uiguru

无需排除\'events\' 您只需获取“post”类型。

参见示例-

$args = array( \'post_type\' => \'post\', \'posts_per_page\' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
    the_title();
    echo \'<div class="entry-content">\';
    the_content();
    echo \'</div>\';
endwhile;
它将从\'post_type\' => \'post\', 和数量page = 10.

有关更多详细信息,请查看链接,您将获得一些想法url:http://codex.wordpress.org/Post_Types

SO网友:FrA

有同样的问题,这可能与您使用statc页面作为主页,使用“博客”页面作为帖子流有关。

我解决了将此代码置于循环之前的问题:

<?php query_posts("post_type=post"); ?>
这对我很有用,但为了正确显示“事件”,您需要创建一个存档事件。带有普通循环的php,没有query\\u post函数。

我在循环中有一个“标准循环”。我调用的php

<?php get_template_part( \'loop\' ); ?>
我使用模板中的query\\u帖子。

i、 e我的inex。php呈现

<?php query_posts("post_type=post"); ?>
<?php get_template_part( \'loop\' ); ?>
但我的存档文件是mycustomposttype。php只有

<?php get_template_part( \'loop\' ); ?>
干杯

结束

相关推荐

_excerpt()、get_the_excerpt()和the_content()都杀死了“The Loop”

在调用\\u摘录()之前,\\u permalink()会显示正确的内容。之后,它不会。。。 <?php global $query_string; //strip out the \"pagename=blog\" so that the query will grab all of the posts instead of the content of the blog page