当分类名称未知时显示属于特定术语的帖子列表
Display a list of posts belonging to a particular term when the taxonomy name is unknown
如何显示属于特定术语的帖子列表?我有一个特定的用例,我不知道该术语所属的分类法。
如果我知道分类法,我会使用 get_posts() 函数的 tax_query
参数。
因此,我尝试通过基于 this WPSE question 执行数据库查询来从术语名称中找到分类法名称。但是,我需要 term_taxonomy_id
才能正常工作。我只有术语的名称。
因此,我尝试使用术语名称查找 term_taxonomy_id
。为此,我遇到了 get_term_by() 函数。不幸的是,这个函数需要分类法的名称才能工作。这让我回到了我开始的地方。
当分类名称未知时显示属于特定术语的帖子列表的主要问题仍未解决。我正在寻找这个方向的指示。
保存术语 ID 而不是名称。并不是说 用户 需要 select 他们,而是对于任何术语名称 selected 将其 ID 保存为对用户有意义的信息改为代码。
由于最近的 WP 版本不再造成共享术语混乱,因此使用它应该已经足够了:
$term = get_term_by( 'slug', 'aciform', 'category' );
$id = $term->term_id;
// now let's do this backwards from ID alone
$term = get_term( $id ); // WP_Term... taxonomy argument optional!
// and query posts using term object
$posts = get_posts( [
'tax_query' => [
[
'field' => 'term_id',
'terms' => $term->term_id,
'taxonomy' => $term->taxonomy,
]
],
] ); // array(1)
如何显示属于特定术语的帖子列表?我有一个特定的用例,我不知道该术语所属的分类法。
如果我知道分类法,我会使用 get_posts() 函数的 tax_query
参数。
因此,我尝试通过基于 this WPSE question 执行数据库查询来从术语名称中找到分类法名称。但是,我需要 term_taxonomy_id
才能正常工作。我只有术语的名称。
因此,我尝试使用术语名称查找 term_taxonomy_id
。为此,我遇到了 get_term_by() 函数。不幸的是,这个函数需要分类法的名称才能工作。这让我回到了我开始的地方。
当分类名称未知时显示属于特定术语的帖子列表的主要问题仍未解决。我正在寻找这个方向的指示。
保存术语 ID 而不是名称。并不是说 用户 需要 select 他们,而是对于任何术语名称 selected 将其 ID 保存为对用户有意义的信息改为代码。
由于最近的 WP 版本不再造成共享术语混乱,因此使用它应该已经足够了:
$term = get_term_by( 'slug', 'aciform', 'category' );
$id = $term->term_id;
// now let's do this backwards from ID alone
$term = get_term( $id ); // WP_Term... taxonomy argument optional!
// and query posts using term object
$posts = get_posts( [
'tax_query' => [
[
'field' => 'term_id',
'terms' => $term->term_id,
'taxonomy' => $term->taxonomy,
]
],
] ); // array(1)