我在Wordpress中有一个自定义页面模板,它有一个显示帖子的循环,目前使用
按类别过滤<?php query_posts( array ( 'category_name' => 'holidays' ) ); ?>
接着是循环。由于有许多不同的页面使用相同的模板,但都需要不同类别的帖子。我想让“假期”部分取决于您所在的页面。这有可能增加条件吗?否则我假设我必须为每个页面创建许多不同的模板?
答案 0 :(得分:0)
您可以在脚本中添加$_GET
属性。
$cat = $_GET['category'];
query_posts( array ( 'category_name' => $cat ) );
然后您可以访问以下页面:
http://sitename.com/yourpage.php?category=holiday
“假期”的类别。
答案 1 :(得分:0)
另一种方法是使用is_page()
。
例如:
<?php if (is_page(pageIDgoesHere)) {
$cat = 'holiday';
} elseif (is_page(pageIDgoesHere) {
$cat = 'anotherCategoryHere';
}
?>
您可以将其置于query_posts()
之上,然后使用:
query_posts(array('category_name' => $cat,));
您可以根据需要多次重复以下elseif
:
elseif (is_page(pageIDgoesHere) {
$cat = 'anotherCategoryHere';
}
只需使用页面的整数ID代替pageIDgoesHere
,并在anotherCategoryHere
处设置所需的类别名称。
这样可以减轻向页面网址添加查询字符串的麻烦。