Php 如果页面id为3,则在页面上显示一些帖子,否则显示一些不同的帖子

Php 如果页面id为3,则在页面上显示一些帖子,否则显示一些不同的帖子,php,wordpress-theming,wordpress,Php,Wordpress Theming,Wordpress,我只使用page.php,这是wordpress中页面的默认模板,我的页眉页脚和侧边栏在所有页面上都是相同的,但主区域内容正在更改,我希望wordpress为每个特定页面提取这些内容。例如,如果页面是关于我们的…它应该显示关于我们类别的帖子等等 我想知道我是否可以通过条件语句实现这一点,或者我必须为每个页面制作单独的模板 我尝试了一些像 <?php if (page_id ==11 ): // post loop to display all fetch all post of cat

我只使用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上的循环,但它似乎不起作用

哇。。。不确定这是否有帮助,但比你现在拥有的要整洁得多

<?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();
?>


尽管如此,您仍然不清楚什么不起作用,因此很难判断什么不起作用……

我发现这一问题从未得到解决,我也无能为力,因此我希望这将在不久的将来帮助他人

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

    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;
global$post;
$pagename=获取标题($post->ID);
$args=数组(
“post_type”=>“post”,
“类别名称”=>$pagename,
);
$page\u query=新的WP\u查询($args);
而($page_query->have_posts()):$page_query->the_post();?>

thanx对于更干净的版本:D,但我想我清楚我想要什么…如果页面id是某个“id”,则显示某个类别的帖子。我的意思是在页面上显示帖子之前,循环应该检查页面id并相应地显示帖子。是的,但我不使用WP,我看不到您实际在哪里使用页面id或11,这两种方法都用在初始if语句中。我猜你的问题在你的WP_查询中wordpress所有页面默认使用page.php作为模板和page_id我想在其上显示此条件循环结果的页面的id…可能。。。我只想确保此循环的结果不应显示在每一页上..而仅显示在page_id为11的页上。然后,您需要修复WP_查询。其他一切都很好,只是您的查询需要调整