0

我只使用 page.php,它是 wordpress 中页面的默认模板,我的页眉页脚和侧边栏在所有页面上都是相同的,但主要区域内容正在改变,我希望 wordpress 为每个特定页面拉取。例如,如果页面是关于我们的......它应该显示关于我们类别的帖子等等......


我想知道我是否可以通过条件语句来实现这一点,或者我必须为每个页面制作单独的模板。

我尝试了类似...

<?php if (page_id ==11 ):
 // post loop to display all fetch all post of category id 4
  $page_query = new WP_Query('post_type=post&cat=4'); ?>
<?php  while ($page_query->have_posts()) :
 $page_query->the_post(); ?>
<a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
<?php if ( has_post_thumbnail() ) {
    the_post_thumbnail('thumbnail');
} ?>
<?php the_content(); ?>
<?php endwhile;  endif;

wp_reset_postdata();

?>

这是我在 page.php 上的循环,但它似乎不起作用!

4

2 回答 2

0

哇...不确定这是否有帮助,但比您目前拥有的要整洁得多

<?php
if (page_id == 11){
   $page_query = new WP_Query('post_type=post&cat=4');
    while ($page_query->have_posts()){
        $page_query->the_post();
        echo "<a href=/"". the_permalink() ."/" rel=/"bookmark/"><".the_title()."</a>";
        if ( has_post_thumbnail() ) {
            the_post_thumbnail('thumbnail');
        }
        the_content();
    }
}
wp_reset_postdata();
?>

尽管如此,您仍不清楚什么不起作用,因此很难说出什么不起作用......

于 2013-03-02T06:38:04.677 回答
0

我看到这从未得到解决,我也无事可做,所以我希望这将在不久的将来帮助某人。

如果您想显示与“关于我们”页面相关的帖子,您应该将该类别命名为页面名称。通过这样做,您可以将上面的代码更改为以下内容:

    global $post;
    $pagename = get_the_title($post->ID);

    $args = array(
        'post_type' => 'post',
        'category_name' => $pagename,
    );
    $page_query = new WP_Query($args);
         while ( $page_query->have_posts() ) : $page_query->the_post();?>
                <a href="<?php the_permalink(); ?>" rel="bookmark">
                    <?php the_title()?>
                </a>
             <?php
                if ( has_post_thumbnail() ) {
                     the_post_thumbnail('thumbnail');
                }
                the_content();

          endwhile;
于 2018-11-26T07:48:45.797 回答