GET_QUERY_var()和固定链接

时间:2011-08-25 作者:sico87

我有一个permalink结构,看起来像这样,

%类别%/%postname%

我有一个类别。php模板编码并试图提取某个类别的帖子,例如,我的URL可能如下所示,

/类别/类别1

我希望返回category1中的所有帖子,但是,当使用以下代码时,我会返回null,

get_query_var(\'cat\')

我假设这段代码正在查找如下所示的URL,

?cat=类别1

那么,我如何让它与permalinks一起工作呢?

2 个回复
最合适的回答,由SO网友:Milo 整理而成

WordPress重写规则,在内部将漂亮的永久链接转换为非漂亮的格式,并设置适当的变量并加载请求的页面,您无需在模板中执行任何操作即可从类别页面上的类别加载帖子。

这个cat 查询变量将专门设置为请求类别的ID,而不是名称。

这就是说:

$my_category = get_query_var(\'cat\');
echo $my_category;
应在类别页面上打印选定的类别ID。如果不是,我们必须查看您的代码以进一步帮助您。

另外,请查看$wp_query global可查看特定页面上设置的所有查询变量:

global $wp_query
print_r($wp_query);

SO网友:nidal

这帮助我得到了答案,我发现的问题是

global $wp_query
如果启用永久链接,则不包含类别id。然而,它确实包含一个类别名称,因此要检索类别id,下面的代码对我很有用。

$category = get_query_var(\'category_name\');
$categoryid = array(get_cat_ID( $category ));
这对于pre_get_posts

结束