Wordpress:根据页面更改query_posts类别

时间:2014-02-25 14:29:30

标签: wordpress loops post categories

我在Wordpress中有一个自定义页面模板,它有一个显示帖子的循环,目前使用

按类别过滤
<?php query_posts( array ( 'category_name' => 'holidays' ) ); ?>

接着是循环。由于有许多不同的页面使用相同的模板,但都需要不同类别的帖子。我想让“假期”部分取决于您所在的页面。这有可能增加条件吗?否则我假设我必须为每个页面创建许多不同的模板?

2 个答案:

答案 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处设置所需的类别名称。

这样可以减轻向页面网址添加查询字符串的麻烦。