web-dev-qa-db-ja.com

複数のオブジェクトに対してget_queried_objectを実行する方法

私の設定

私は2つのカスタム分類法 "zap_audience"と "zap_cities"を持つカスタム投稿タイプ "zap_apartments"を持っています。

"zap_audience" + "zap_cities"が割り当てられているすべての "zap_apartments"にアクセスするためのRewriteRulesをいくつか書きました。それはseoにやさしいURLで結果を絞り込むことです:

内部的にはmy-url.de/holiday/cologne/のようなURLをmy-url.de/index.php?post_type=zap_apartments&zap_audience=holiday&zap_cities=cologneのように要求します

私の問題

カスタムアーカイブページの分類法情報にアクセスしようとすると、返される分類法は1つだけです。

print_r( get_queried_object() );

プリント:

stdClass Object
(
    [term_id] => 17
    [name] => Cologne
    [slug] => cologne
    [term_group] => 0
    [term_taxonomy_id] => 17
    [taxonomy] => zap_cities
    [description] => 
    [parent] => 0
    [count] => 2
    [filter] => raw
)

他の割り当てられた分類法 "zap_audience"を取得する方法はありますか?

私はすでにグーグルに聞いたが、何も役に立つものを見つけることができなかった。私も$_GET['zap_audience']によって任意の値にアクセスしようとしましたが、それは空です。

助けてください!ありがとうございました!

3
Raphael

あなたは$_GET['zap_audience']を使ってそれをほとんど持っていました、しかしそれはGET変数として渡されないので完全ではありません。

しかしそれはクエリ変数なので、これらを試してみてください。

$post_type = get_query_var( 'post_type' );
$audience  = get_query_var( 'zap_audience' );
$city      = get_query_var( 'zap_cities' );

分類タイプの先頭にzap_を付けるには+1

1
Tom J Nowell