如何在WordPress中的特定页面上获取所有帖子标题

时间:2016-12-07 22:08:31

标签: wordpress post title

我想在特定页面上显示所有帖子,名为"文章"。

但是,当我在循环中使用the_title();时,似乎会显示此页面的标题。

articles.php中的相对代码(链接到信息中心内创建的Articles页面)

<div class="container">
    <?php if ( have_posts() ) : ?>
        <div class="content">
            <?php while ( have_posts() ) : the_post(); ?>                
                <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>                
                    <?php get_template_part( 'content', get_post_format() ); ?>                                            
                </div>                                                    
            <?php endwhile; ?>
        </div>
    <?php endif; ?>
</div>

content.php

<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="post-header section medium-padding">   
    <div class="post-meta-top"> 
        <?php the_time(get_option('date_format')); ?>

        <?php 
            if ( comments_open() ) {
                echo '<span class="sep">/</span> '; 
                if ( is_single() )
                    comments_popup_link( '0 comments', '1 comment', '% comments', 'post-comments' ); 
                else
                    comments_number( '0 comments', '1 comment', '% comments' ); 
            }
        ?> 
    </div>

    <h2 class="post-title"><?php the_title(); ?></h2>           
</a>

这部分适用于index.php

1 个答案:

答案 0 :(得分:1)

步骤1:在content.php文件夹中创建一个新模板articles.php并插入此代码:

<?php
$articles = new WP_Query( array( 'posts_per_page' => -1 ) );

while ( $articles->have_posts() ) :
$articles->the_post();
?>

<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="post-header section medium-padding">   
<div class="post-meta-top"> 
    <?php the_time(get_option('date_format')); ?>

    <?php 
        if ( comments_open() ) {
            echo '<span class="sep">/</span> '; 
            if ( is_single() )
                comments_popup_link( '0 comments', '1 comment', '% comments', 'post-comments' ); 
            else
                comments_number( '0 comments', '1 comment', '% comments' ); 
        }
    ?> 
</div>

<h2 class="post-title"><?php the_title(); ?></h2>           
</a>
<?php endwhile; ?>

第2步:在articles.php中替换此行:

<?php get_template_part( 'content', get_post_format() ); ?>

这一个:

<?php get_template_part( 'articles' ); ?>

未经测试但应该可以使用。