web-dev-qa-db-ja.com

子ナメクジを使用して分類法の親を取得する(マージされた分類法から)

だから、私はこれを行う方法の束を試みたが、どれもうまくいきませんでした。

(同じカスタム投稿タイプからの)さまざまな分類法からの値が多数ある配列があります。2つだけの例を示しますが、4、5、または10にすることもできます。

Ex.: 
Types 1
    - Item a
    - Item b
    - Item c
Types 2
    - Item d
    - Item e
    - Item f

これらの 'Item'値は<select>を生成します。

選択した子供の親を取得する方法が必要です。しかし、私が持つ唯一の情報は、ナメクジと子供の名前です。後でtax_queryに使います。

私はそれがタイプ1、タイプ2などから来ているかどうかを知る必要があります。

私が今持っているコードは何ですか:

foreach ($tax_categorias as $tax_categoria) {
echo '<option value='. $tax_categoria->slug.'' . $selected . '>' . $tax_categoria->name . '</option>';

$ads_filt_categorias = $_GET['ads_filt_categorias'];
$parent_term = get_term_by('slug', $ads_filt_categorias);

スラグを使ってIDを取得してから親を取得するなど、他の方法も試しました。

get_terms()get_ancestors()などを試しました

私はおそらくかなり基本的なものが欠けている...どんなアイデア何?

ほとんどの場合、 '分類法'が必要になるので、見つけた回避策の1つ(実際には@Howdy_McGeeのpointe)では、単語のスラッグを渡し、それを値の親とし、次にsplit-stringを渡します。

これが私の最後のコードです:

foreach ($tax_categorias as $tax_categoria) {
    echo '<option value='. $tax_categoria->slug .'.'. $tax_categoria->taxonomy .'' . $selected . '>' . $tax_categoria->name . '</option>';
}
$ads_cat = $_GET['ads_filt_categorias'];
$list($ads_filt_categorias,$ads_categorias) = explode('.', $ads_cat);