在主页上显示帖子-模板页面

时间:2014-11-17 作者:azhpo

我创建了两个模板页:galerie.phphomepage.php.

Galerie已经显示帖子了。所以主页是homepage.php 和帖子页面为galerie.php.

现在的问题是,我想显示来自类别的帖子category-test 进入homepage.php. 我使用以下代码试图显示来自category-test:

<?php $posts = get_posts(\'category_name=\' . \'category-test\'); foreach($posts as $post) { ?>
      <?php the_title(); ?>
      <p><?php the_content(); ?></p>
 <?php } ?>
但出于某种原因,这只显示帖子标题。它不显示帖子的正文内容。

它有什么问题?

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

模板标记(如the_content()) 使用时不可用get_posts. 为了使模板标记可用,您必须使用setup_postdata( $post );

示例:

<?php 
$posts = get_posts(\'category_name=category-test\'); 
foreach($posts as $post) { 
    setup_postdata( $post );

    the_title(); ?>
    <p><?php the_content(); ?></p>
<?php } ?>

SO网友:Brad Dalton

我会使用WP_Query 以任何类别参数为其更灵活。

您可以直接将其添加到模板中,或创建模板标记,然后将其添加到任何文件或自定义函数中。

<?php

// The Query
$the_query = new WP_Query( \'cat=4\' );

// The Loop
if ( $the_query->have_posts() ) {
    echo \'<ul>\';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo \'<li>\' . get_the_title() . \'</li>\';
    }
    echo \'</ul>\';
} else {
    // no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

SO网友:mukto90

为什么不使用WP_Query?[修改后的代码,已使用WP_Query 而不是query_posts 根据建议]

<?php $arg = array(
    \'category_name\' =>  \'category-test\'
);
$newQ = QP_Query($arg);
while($newQ->have_posts()) : $newQ->the_post();?>
    <?php the_title(); ?>
    <p><?php the_content(); ?></p>
<?php endwhile;
wp_reset_query();
?>

结束

相关推荐

Add sidebar in inner pages

我是wordpress编码新手。我想在主页以外的页面上添加一个侧边栏,这两个页面都是我的自定义模板。我想在管理员列表,以便管理员可以编辑侧边栏的内容。此外,我是否需要创建小部件来显示每个边栏?