1

嗨,希望有人能提供帮助....我已经在互联网上搜索了几个小时,但根本找不到这个信息。

在类别页面上时,即

www.yoursite.com/category/uncategorized

在主题文件(例如category.php)中获取当前类别的类别 ID 相当简单 - 我可以使用类似

get_query_var( 'cat' )

或其他一些替代方案。

从以下 URL 使用类别页面上的多个类别时,如何获取所有类别(ids、slugs 任何东西!):

http://www.yoursite.com/?category_name=category1+category2+category3

在我见过的任何主题中使用多个类别过滤器时,类别页面本身仅列出第一个类别名称,并get_query_var( 'cat' )仅返回第一个类别。

我不想在var 上使用$_GETor ,原因有两个:$_REQUESTcategory_name

  1. 这肯定是错误的做法。
  2. 我实际上正在使用这样的 URL - www.yoursite.com/category/category1+category2+category3/(是的,这与第一个示例完全一样!)

感谢您提前提供的任何帮助,我完全被卡住了!

4

3 回答 3

2

在搜索了更多之后,我找到了答案。要在 URL 中使用查询 var $wp_query,即使 url 被重写为

www.yoursite.com/category/category1+category2+category3/

您仍然可以使用以下方法检索类别名称:

global $wp_query;
$wp_query->query['category_name']

由于某种原因,这与get_query_var( 'category_name' )仅显示多个类别中的第一个类别不同。

:)

于 2013-09-21T14:25:03.283 回答
0

这将完全取决于您的主题用于类别页面模板的内容,因为有多种方法,并且没有构建类别模板的标准方法(据我所知)。

这是加载类别页面时使用的 heirachy Wordpress:

  1. 类别-slug.php
  2. 类别-ID.php
  3. 类别.php
  4. 存档.php
  5. 索引.php

一旦您找到了主题用于构建类别页面的正确文件,您将不得不查看多个类别是如何显示的。这应该让您了解如何提取这些 ID。

于 2013-09-21T05:16:58.543 回答
0

您可以使用 get_categories($args); 函数以及 $args 将你的参数保存在数组中......它会从它们中返回你的类别数组你可以使用 foreach 循环来获取你想要的任何东西,以便更好地理解跟随这个 url https://developer.wordpress .org/reference/functions/get_categories/

于 2016-03-08T11:39:04.347 回答