サブカテゴリIDのみ取得する必要があります。私はすでにサブカテゴリーIDを取得していますが、メインカテゴリーIDも付属しています
ベローズはコードです
<?php while ( have_posts() ) : the_post(); ?>
<option value=".<?php
foreach((get_the_category()) as $category) {
echo $category->cat_ID . ' '. $category->cat_name ;
}
?>">
<?php
foreach((get_the_category()) as $category) {
echo $category->cat_name . ' ';
}
?>
</option>
<?php endwhile;
?>
コードの後私のレンダリングしたコードは以下のようです
<select id="filter-select">
<option value="*" selected="selected">all</option>
<option value=".15 8 ">Magdalena Venta </option>
<option value=".15 8 ">Bo. de la Magdalena</option>
<option value=".16 8 ">Juan Venta</option>
<option value=".17 8 ">Club de G</option>
<option value=".21 8 ">Fraccionamiento Viñedos Venta</option>
</select>
値allの後は15、16、17、21のようなサブカテゴリIDですが、 8 がメインカテゴリIDです。私はこれをしたくない 8 来ている。
だから主に私はこの<option value="child category ID ">Child Category Name </option>
のようになりたいです
私はまだやっています。私が得ればそれはここに掲載されます任意の解決策を得ることができる
カテゴリの子を持つselect
フォームフィールドだけが欲しいので、単純に wp_list_categories()
を付けてください。
wp_list_categories( array(
'child_of' => 'your parent cat ID',
) );
あなたのユースケースに応じて、あなたも使用することができます
get_the_category()
とそのget_the_categories
フィルタ
apply_filters( 'get_the_categories', $categories );
get_the_terms()
とそのフィルタ(関数は内部的にget_the_category()
によって呼び出されます:
apply_filters( 'get_the_terms', $terms, $post->ID, $taxonomy );
get_categories()
、引数の入力配列(例えばmy-special-list
)に特別なキーを渡し、それからそれから関数内のフィルタのコールバックをチェックインし、そこで出力を変更します。関数はget_terms()
afterを呼び出し、フィルタコールバックが呼び出されます。
apply_filters( 'get_categories_taxonomy', $taxonomy, $args );
get_term_children( $term_ID, 'category' )
編集 メインの問い合わせ対象オブジェクトはget_queried_object()
を使っていつでも取得できます。そしてそのIDを抽出する関数があります: get_queried_object_id()
。
以下のように、親を持たないカテゴリ(IE、トップレベルカテゴリ)を排除するために、追加のif
ステートメントで囲む必要があると思います。
<?php while ( have_posts() ) : the_post(); ?>
<?php
foreach((get_the_category()) as $category) {
if($category->parent) { // check if this category has a parent
echo '<option value="' . $category->cat_ID . ' '. $category->cat_name . '">' . $category->cat_name . '</option>';
}
}
endwhile;
?>
wp_dropdown_categories を使用し、現在のページのカテゴリに child_of パラメータを使用するだけです。
<?php $obj_id = get_queried_object_id(); // category ID ?>
<?php wp_dropdown_categories(array(
'child_of' => $obj_id,
'hide_empty' => false // use this to show ALL sub-categories, even empty ones; otherwise omit this
)); ?>