我有一个自定义的post类型,它有几个分类法。
对于每一个,我需要展示如下内容:
Taxonomy name: Taxonomy value
因此,由于我的帖子有以下分类树:
Categories -> Bikes
Bikes Models -> Model 1
Bikes Brands -> Brand 1
Genre -> Male
我需要显示它们各自的名称和值。
我得到了所有的帖子分类法,但我需要“删除”其中的一部分。
This is my code:
$args = array(
\'post\' => $post->ID,
\'before\' => \'<p class="meta">\',
\'sep\' => \' \',
\'after\' => \'<p class="meta">\',
\'template\' => \'%s %l<br/>\',
);
That produces:
- Categorias | Acessório
- Tipos de Acessórios | Tipos de Acessórios 2
- Modelos de Acessórios | Modelos de Acessórios 3
- Marcas de Acessórios | Marca de Acessório 3
- Tamanhos | XL
- Gênero | Masculino
- Material Quadro | Carbono
- Extras | Com garantia, Como novo, Dobrável, Dupla-Suspensão, Excelente estado, Exclui pedais, Exclui pneus, Exclui rodas, Pouco uso, Preço negociável, Sem selim e Tem amortecedor trás
问题是:
我需要排除一些分类法(Categorias、Tipos de Acesssórios、Modelos de Acesssórios、Marcas de Acesssórios&Extras)我需要显示的分类法在每个项目上总是不同的。但我需要排除/隐藏的内容将始终相同
最合适的回答,由SO网友:Marcelo Henriques Cortez 整理而成
好吧,我设法做到了get_the_taxonomies()
Codex和unset()
PHP Manual
So, here is how the final code looks like:
//define the arguments so the output will have the format I want
$args = array(
\'template\' => __( \'%s: %l.\' ),
\'term_template\' => \'<a href="%1$s">%2$s</a>\',
);
//get the array and store it
$taxList = get_the_taxonomies( $post->ID, $args );
//remove the categories I don\'t want based on their slug
unset($taxList[\'categorias\']);
//Show the list without the ones specified above
print_r($taxList);