web-dev-qa-db-ja.com

Wp_insert_term "alias_of" argとは何ですか?

私は現在、自分のプロジェクトのための解決策を見つけるためにWP分類法と用語に手を入れています。 1つのカスタム分類法で、および異なるカスタム分類法間でwp_insert_termを含む用語を作成するときに同じ用語スラッグを作成することは不可能であることを私は知っていましたが、私は異なるURLを同じURLにリンクしますこれらの異なる用語へのすべての関連記事。

カスタム分類法「tax」とその中の次の用語を言います。

a (slug : a) 
--b (slug : b)
-c (slug : c)
---d (slug : d)

私は以下のリンクを使って異なる課税期間にアクセスすることができます:

/tax/a
/tax/b
/tax/c
/tax/d

もし私がwp_insert_term('e','tax',array(slug=>'a')で用語を挿入したいのであれば、スラッグはユニークでなければならないのでWPはスラッグを 'a1'に修正します。

そのため、異なる用語を同じスラッグ/ URLにリダイレクトし、 'a'と 'e'からすべてのカスタム投稿を取得することは不可能のようです。

alias_of引数はどうですか?それに関する完全なドキュメンテーションを見つけることができません。それはまさにそのような問題のためではありませんでしたか?私はその種のコードにいくつかの用語を挿入しました:wp_insert_term('e','tax',array(slug=>'e','alias_of'=>'a')しかし何も変わらない、WPは私のすべてのエントリに対して異なるユニークなスラッグを作成し、alias_ofを気にしない。

誰もがこれを明確にすることができるか、解決策を得ることができますか?

どうもありがとう !

_編集_

WPではまだまだサポートされていない機能であるterm_groupに関連しているようです。 wp_terms database にはterm_groupフィールドがあります。このフィールドの値は、用語の作成時に設定され、wp_insert_term($name,$taxonomy,array('alias_of' => $slug)で用語を取得したときに取得されます(ex get_term_by()->term_group関数の場合)。これを問い合わせる方法があるはずですが、terms metasサポートでは、私は本当に興味がありません...

7
Polykrom

コードリファレンス /でそれは言う:

'alias_of'

(string)この用語をのエイリアスにする用語のスラッグ。デフォルトの空の文字列ナメクジを受け入れます。

これにより、ある用語が別の用語の別名になります。あなたの例を使用してこれはあなたがそれを使用する方法です:

wp_insert_term( 'e', 'tax', array( 'alias_of' => 'a' ) );

これはeタクソノミに独自のスラグなしで新しい用語taxを作成し、eの投稿もaスラグの下に表示されます。

3
Johano Fierra