カスタム投稿タイプ内に現在の分類用語を表示する
4 回答
- 投票
-
- 2013-03-02
わかりました.ついにここで必要なものを見つけました.
カスタムで現在の用語を取得する方法WordPressの分類法? @ user3208の好意による最後の更新:
<?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); } } ?>
これで問題は解決しました. ありがとう
Ok, so I finally found what I needed here: How to get current term in my custom taxonomy in WordPress?
the last update at the bottom courtesy of @user3208:
<?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); } } ?>
That solved my issue! Thanks
-
- 2013-03-01
代わりに
wp_get_post_terms
を使用する必要があります.$terms = wp_get_post_terms( $post_id, $taxonomy, $args );
get_terms
は、分類法に存在するすべての用語を提供します.更新:
global $post; $terms = wp_get_post_terms( $post->ID, 'genre'); print_r($terms); #displays the output
You should use
wp_get_post_terms
instead.$terms = wp_get_post_terms( $post_id, $taxonomy, $args );
get_terms
will give you all the terms present in a taxonomy.UPDATE:
global $post; $terms = wp_get_post_terms( $post->ID, 'genre'); print_r($terms); #displays the output
-
試していますが、機能していません.関数に変数を渡す必要がありますか?コードにどのように実装するかを指定できますか?ありがとうI am trying but it's not working. do I have to pass any vars into the function? can you specify how should I implement it in my code? Thanks
- 0
- 2013-03-01
- gil hamer
-
WordPressループに参加している場合は、 `$post_id`の代わりに`get_the_ID() `を使用できます.`$taxonomy`の場合、使用している分類法の名前を追加する必要があります.`$ args`は必要ありません.If you are in the WordPress Loop, you can use `get_the_ID()` instead of `$post_id`. For `$taxonomy`, you need to add the name of the taxonomy you're using. `$args` isn't necessary.
- 0
- 2013-03-01
- RRikesh
-
それは間違いなくループの外にあります!それを機能させることができません..ループの外でそれを実装する方法を提案できますか?必要に応じて、コード全体を投稿します.ありがとうIt's definitely outside the loop! just cant get it to work.. can you suggest how to implement it outside the loop? if necassary I will post the whole code. Thanks
- 0
- 2013-03-01
- gil hamer
-
次に、 `global $post;`を追加してから、 `$post-> ID`を使用して投稿IDを取得する必要があります.Then you need to add `global $post;` and then use `$post->ID` to get the post ID.
- 0
- 2013-03-01
- RRikesh
-
上記のコードを使用した例を教えていただけますか?私はそのプログラマーではありません.よろしくお願いします.ありがとうcan you show me an example using my code above? I am not that programmer. I'll appreciate it. Thanks
- 0
- 2013-03-01
- gil hamer
-
答えを更新しました.updated the answer.
- 0
- 2013-03-01
- RRikesh
-
残念ながらそれはうまくいきませんでした:1.それは私に芸術を与えますUnfortunately it didn't work: 1. It gives me an art
- 0
- 2013-03-01
- gil hamer
-
申し訳ありませんが、機能しませんでした:1.不要な配列の表示中にエラーが発生します(おそらく '$ arg'パラメーターを無視できません.2.別の用語の投稿を表示したときに用語名が変更されませんでした.他の解決策はありますか?ありがとうSorry but it didn't work for me: 1. it gives me an error displaying unnecessary array (probably you cant ignore the '$arg' parameter. 2. it didn't change the term name when I displayed a post from another term. any other solution? Thanks
- 0
- 2013-03-01
- gil hamer
-
- 2016-10-28
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); } } ?>
Taking what user3208 coded, I have added a bit of code that adds the URL to the Term. Hope that helps someone out.
<?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); } } ?>
-
- 2017-07-09
<?php echo get_the_term_list( $post->ID, 'yourtaxonomy', '', ', ' ); ?>
<?php echo get_the_term_list( $post->ID, 'yourtaxonomy', '', ', ' ); ?>
-
コードのみの回答は通常、説明なしで眉をひそめます.[回答を編集](https://wordpress.stackexchange.com/posts/272817/edit)して、この関数の機能と、これが元の問題をどのように解決するかを説明してください.詳細については、コーデックスにリンクしてください.Code only answers are usually frowned upon without an explanation. Could you please [edit your answer](https://wordpress.stackexchange.com/posts/272817/edit) and explain what this function does and how this would solve the original problem, maybe linking to The Codex for more information?
- 0
- 2017-07-10
- Howdy_McGee
まあ、これはかなり簡単なはずですが、ウェブ上のどこにも答えが見つかりませんでした.私が見つけたすべての答えは近いものでしたが、私が必要としていたものは正確にはありませんでした. 必要なのは、現在のカスタム投稿タイプの現在の用語だけを表示することです. すべての用語が1つだけではありません!(関連する用語)
これは私が使用しているものですが、私にとって良くないすべての用語が表示されます:
覚えておいてください-単一の投稿タイプのテンプレートに表示したいのですが 誰か提案できますか? ありがとう