私はワードプレスにはかなり慣れておらず、毎日新しいことに出会います。今日は私がget_terms
に遭遇したとき、それがget_category
と基本的に同じであることに気づいた時です。
どちらかを使用する特別な理由はありますか?足りないものはありますか。
WordPressに飛び込むと、WordPressには多くのラッパー関数があることがわかります。たとえば、add_theme_page
は単にadd_submenu_page
のラッパーです。これは確かに唯一の例ではありません(実際、add_submenu_page
自体にはたくさんのラッパーがあります)。 get_categories()
のソースを見れば、それもget_terms()
のラッパーであることがわかります(私は自分自身でそれを学んだので、ありがとうございます)。
分類学に関連する機能が最も複雑なものの一部であることがわかりました。それらの多くは、非常によく似た引数を取り、ほとんど違いはありませんが似たようなものを返します。この場合、get_terms()
にはget_category()
にはないname__like
パラメータがあります。おそらく他にも小さな違いがあります。
個人的な好みとして、私はできる限りget_terms()
を使うようにしています。場合によっては、add_theme_page
が推奨される機能です(おそらくWordPressがテーマページに変更を加えてその機能を機能させることができるようになるでしょう)。他に何もないが、親しみやすさは私がそれをより早くするのに役立ちます。しかし、wp_list_categories()
のようなHTMLリストを返す関数の中には便利なものもあります。
get_terms()とget_categories()の最も重要な(そしてあまり明白ではない)違いの1つは、get_categories()がラッパー関数であることですget_terms( 'category')の場合。つまり、cannotget_categories()でカスタム分類を取得し、get_terms()を使用する必要があります代わりに。
get_categories
でカスタム分類法を問い合わせることは可能です
例:
// Taxonomy query
$venue_args = array(
'child_of' => $venue_id,
'taxonomy' => 'wpmf-category',
'hide_empty' => false
);
$venue_cats = get_categories( $venue_args );