What I am trying to do
嗨,在我的网站上,我有一个自定义的帖子类型,叫做
projects
, 然后,我为我的
projects
调用的帖子类型
project_catagories
. 现在,在我的项目存档页面(其中显示所有项目)中,我有一个名为按类别浏览的部分,当用户单击类别名称时,应该显示该类别下的项目。
现在,为了显示单击类别下的项目,我创建了一个名为taxonomy-project_catagories.php
显示每个项目类别项目。现在在该文件中,我首先使用get_term_by()
获取term_id
按以下方式显示该页面:
$term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_var( \'taxonomy\' ) );
那我就通过了
term_id
给我的
WP_Query()
要获取该类别下的项目列表,请执行以下操作:
$args = array(
\'numberposts\' => -1,
\'post_type\' => \'projects\',
\'tax_query\' => array (
\'taxonomy\' => \'project_catagories\',
\'field\' => \'term_id\',
\'terms\' => $term->term_id
)
);
$the_project_cat_query = new WP_Query($args);
最后,我循环并显示项目。
Problem:
现在的问题是不管怎样
term_id
正在传递给
WP_Query()
, 它显示了所有类别下的所有项目。我知道在这个论坛和stack overflow上有很多类似的问题,我已经检查过了,但没有一个对我有帮助。我甚至检查过
WP_Quey
但仍然无法了解发生了什么。所以,任何帮助都会非常有用。
How I tested it
我已经在一个项目类别下创建了一个项目,因此从技术上讲,什么时候将在该项目类别页面上,那么只有它应该显示项目详细信息,对于其他页面,它应该显示为空白,因为该项目类别下没有类别。
我甚至尝试手动输入term_id
, 检查field
值到slug
然后手动输入段塞。在所有情况下,结果都完全相同。
任何回应都会很有帮助。