web-dev-qa-db-ja.com

WordPressのカスタム分類法で現在の用語を取得する方法

カスタム分類法の現在の用語を単一の投稿に表示する必要があります。

例:

  • 私のカスタム分類は products であり、それらの用語は product-1 product-2 および products-3 です。
  • 私の投稿は product-2 に割り当てられています
  • そして私は私の投稿に現在の商品= products-2 を印刷したいです。

実際、私はWordPressのthe_category();のような関数が必要ですが、the_customtaxonomy();のような私の分類法のために

更新日:

事実上私は私がこの言い訳のIDを取得する必要があることを知っています私は私のシングルでこれのアイコンを表示する必要があります、例えばthe_category_ID();のような関数

5
erfaan

私の友人からの回答のためのタンク、私は私の分類学のショースラグのためにそれを見つける

<?php
 $terms = get_terms('my-taxonomy-name');
 foreach ( $terms as $term ) {
 echo $term->slug.' ';
 }
?>

しかし、それは私の分類法のすべての用語を返すので、私は私の分類法の現在の用語を返す必要があります。

更新:

私は最終的にこれを見つけて、空の用語や作品の場合は追加

<?php   // Get terms for post
 $terms = get_the_terms( $post->ID , 'oil' );
 // Loop over each item since it's an array
 if ( $terms != null ){
 foreach( $terms as $term ) {
 // Print the name method from $term which is an OBJECT
 print $term->slug ;
 // Get rid of the other data stored in the object, since it's not needed
 unset($term);
} } ?>
4
user3208

get_the_term_list() を使用できます。

説明

投稿と指定された分類法に関連付けられた分類法用語のHTML文字列を返します。用語はそれぞれの用語一覧ページにリンクされています。

使用法

<?php get_the_term_list( $id, $taxonomy, $before, $sep, $after ) ?>
4
user2370

見つけた:

<?php 
//list terms in a given taxonomy using wp_list_categories (also useful as a widget if using a PHP Code plugin)

$taxonomy     = 'genre';
$orderby      = 'name'; 
$show_count   = 0;      // 1 for yes, 0 for no
$pad_counts   = 0;      // 1 for yes, 0 for no
$hierarchical = 1;      // 1 for yes, 0 for no
$title        = '';

$args = array(
  'taxonomy'     => $taxonomy,
  'orderby'      => $orderby,
  'show_count'   => $show_count,
  'pad_counts'   => $pad_counts,
  'hierarchical' => $hierarchical,
  'title_li'     => $title
);
?>

<ul>
<?php wp_list_categories( $args ); ?>
</ul>

それは私のカスタム分類学のすべての用語を取得し、私は現在の用語を取得する必要があります。

2
erfaan

wp_get_object_terms() を使う必要があります

wp_get_object_terms( $object_ids, $taxonomies, $args )

  • $ object_ids:用語を取得したいオブジェクトの文字列または配列ID
  • $ taxonomies:分類法の文字列または配列
1
anu

User3208がコーディングしたものを取り上げて、URLを用語に追加するコードを少し追加しました。それが誰かに役立つことを願っています。

<?php   // Get terms for post
$terms = get_the_terms( $post->ID , 'oil' );
// Loop over each item since it's an array
if ( $terms != null ){
foreach( $terms as $term ) {
$term_link = get_term_link( $term, 'oil' );
 // Print the name and URL
echo '<a href="' . $term_link . '">' . $term->name . '</a>';
// Get rid of the other data stored in the object, since it's not needed
unset($term); } } ?>
echo get_the_term_list( get_the_ID(), 'tax_name', 'Product:' );
0
user4042