【如果page_id为3,则在页面上显示一些帖子,否则显示其他帖子】我只使用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');
?>
<
?phpwhile ($page_query->
have_posts()) :
$page_query->
the_post();
?>
<
a href="http://www.srcmini.com/<
?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上的循环, 但似乎不起作用!
#1哇… 不确定这是否有帮助, 但比你目前所拥有的更加整洁和干净
<
?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=http://www.srcmini.com/"". the_permalink() ."/" rel=/"bookmark/">
<
".the_title()."<
/a>
";
if ( has_post_thumbnail() ) {
the_post_thumbnail('thumbnail');
}
the_content();
}
}
wp_reset_postdata();
?>
不过, 你仍不清楚什么不起作用, 因此很难说出什么不起作用…
#2我看到这从未解决过, 我无事可做, 所以我希望这会在不久的将来对某人有所帮助。
如果要显示与” 关于我们” 页面相关的帖子, 则应使用该页面的名称来命名。这样, 你可以将上面的代码更改为以下内容:
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="http://www.srcmini.com/<
?php the_permalink();
?>" rel="bookmark">
<
?php the_title()?>
<
/a>
<
?php
if ( has_post_thumbnail() ) {
the_post_thumbnail('thumbnail');
}
the_content();
endwhile;
推荐阅读
- WP分类项的Single.php模板
- 在WordPress编辑器中显示精选图像
- 显示英文字符而不是阿拉伯语
- 在WordPress按钮中显示/隐藏子菜单
- 显示具有特定woo Commerce类别的产品的自定义文本
- 在WordPress的循环中显示每个帖子的类别名称
- 我应该在单个wordpress模板中使用$post = Timber::query_post()还是$post = new TimberPost()()
- 我是否应该在自定义WordPress主题中使用div id =”page” class =”site”()
- WP以CPT标题为属性的短代码