0 レビュー
0 回答
php-ドロップダウンワードプレスのサブメニューの折りたたみを追加
カテゴリに基づいてベンダーを表示するフィルターがあるプラグインWCFMを使用しています。現在、サブカテゴリにはタイトルの前に-----記号が付いています。必要なのは、カテゴリに折りたたみを追加することです。例:ユーザーがカテゴリ名をクリックすると、折りたたまれたサブカテゴリがユーザーに表示され、ユーザーはサブカテゴリを選択できます。
現在のところ、10個のカテゴリごとに50を超えるサブカテゴリがあるため、リストが非常に長くなります。折りたたむと問題が解決します。
コード:
<?php if( $category && apply_filters( 'wcfmmp_is_allow_store_list_category_filter', true ) ) { ?>
<?php
$vendor_categories = $WCFMmp->wcfmmp_vendor->wcfmmp_get_vendor_taxonomy( 0, 'product_cat' );
if ( $vendor_categories ) {
$preferred_taxonomy = 'product_cat';
?>
<select id="wcfmmp_store_category" name="wcfmmp_store_category" class="wcfm-select wcfm_ele">
<option value=""><?php _e( 'Choose Category', 'wc-multivendor-marketplace' ); ?></option>
<?php
foreach( $vendor_categories as $vendor_category_id => $vendor_category ) {
if( $vendor_category_id ) {
if( !apply_filters( 'wcfm_is_allow_store_list_taxomony_by_id', true, $vendor_category_id, $preferred_taxonomy ) ) continue;
if( is_array( $vendor_category ) && !empty( $vendor_category ) ) {
$vendor_term = get_term( absint( $vendor_category_id ), $preferred_taxonomy );
$tax_toggle_class = '';
if( $vendor_term && $vendor_term->term_id && $vendor_term->name ) {
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>><?php echo $vendor_term->name; ?></option>
<?php
}
foreach( $vendor_category as $vendor_category_child_id => $vendor_category_child ) {
$vendor_term = get_term( absint( $vendor_category_child_id ), $preferred_taxonomy );
if( !is_array( $vendor_category_child ) ) {
if( $vendor_term && $vendor_term->term_id && $vendor_term->name ) {
if( in_array( $vendor_term->term_id, $display_vendor_term) ) continue;
$display_vendor_term[$vendor_term->term_id] = $vendor_term->term_id;
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>—<?php echo $vendor_term->name; ?></option>
<?php
}
} else {
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>—<?php echo $vendor_term->name; ?></option>
<?php
foreach( $vendor_category_child as $vendor_category_child2_id => $vendor_category_child2 ) {
$vendor_term = get_term( absint( $vendor_category_child2_id ), $preferred_taxonomy );
if( !is_array( $vendor_category_child2 ) ) {
if( $vendor_term && $vendor_term->term_id && $vendor_term->name ) {
if( in_array( $vendor_term->term_id, $display_vendor_term) ) continue;
$display_vendor_term[$vendor_term->term_id] = $vendor_term->term_id;
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>——<?php echo $vendor_term->name; ?></option>
<?php
}
} else {
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>——<?php echo $vendor_term->name; ?></option>
<?php
foreach( $vendor_category_child2 as $vendor_category_child3_id => $vendor_category_child3 ) {
$vendor_term = get_term( absint( $vendor_category_child3_id ), $preferred_taxonomy );
if( !is_array( $vendor_category_child3 ) ) {
if( $vendor_term && $vendor_term->term_id && $vendor_term->name ) {
if( in_array( $vendor_term->term_id, $display_vendor_term) ) continue;
$display_vendor_term[$vendor_term->term_id] = $vendor_term->term_id;
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>———<?php echo $vendor_term->name; ?></option>
<?php
}
} else {
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>———<?php echo $vendor_term->name; ?></option>
<?php
foreach( $vendor_category_child3 as $vendor_category_child4_id => $vendor_category_child4 ) {
$vendor_term = get_term( absint( $vendor_category_child4_id ), $preferred_taxonomy );
if( !is_array( $vendor_category_child4 ) ) {
if( $vendor_term && $vendor_term->term_id && $vendor_term->name ) {
if( in_array( $vendor_term->term_id, $display_vendor_term) ) continue;
$display_vendor_term[$vendor_term->term_id] = $vendor_term->term_id;
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>————<?php echo $vendor_term->name; ?></option>
<?php
}
} else {
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>————<?php echo $vendor_term->name; ?></option>
<?php
foreach( $vendor_category_child4 as $vendor_category_child5_id => $vendor_category_child5 ) {
$vendor_term = get_term( absint( $vendor_category_child5_id ), $preferred_taxonomy );
if( !is_array( $vendor_category_child5 ) ) {
if( $vendor_term && $vendor_term->term_id && $vendor_term->name ) {
if( in_array( $vendor_term->term_id, $display_vendor_term) ) continue;
$display_vendor_term[$vendor_term->term_id] = $vendor_term->term_id;
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>—————<?php echo $vendor_term->name; ?></option>
<?php
}
} else {
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>—————<?php echo $vendor_term->name; ?></option>
<?php
foreach( $vendor_category_child5 as $vendor_category_child6_id => $vendor_category_child6 ) {
$vendor_term = get_term( absint( $vendor_category_child6_id ), $preferred_taxonomy );
if( !is_array( $vendor_category_child6 ) ) {
if( $vendor_term && $vendor_term->term_id && $vendor_term->name ) {
if( in_array( $vendor_term->term_id, $display_vendor_term) ) continue;
$display_vendor_term[$vendor_term->term_id] = $vendor_term->term_id;
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>——————<?php echo $vendor_term->name; ?></option>
<?php
}
} else {
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>——————<?php echo $vendor_term->name; ?></option>
<?php
foreach( $vendor_category_child6 as $vendor_category_child7_id => $vendor_category_child7 ) {
$vendor_term = get_term( absint( $vendor_category_child7_id ), $preferred_taxonomy );
if( !is_array( $vendor_category_child7 ) ) {
if( $vendor_term && $vendor_term->term_id && $vendor_term->name ) {
if( in_array( $vendor_term->term_id, $display_vendor_term) ) continue;
$display_vendor_term[$vendor_term->term_id] = $vendor_term->term_id;
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>———————<?php echo $vendor_term->name; ?></option>
<?php
}
} else {
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>>———————<?php echo $vendor_term->name; ?></option>
<?php
}
}
}
}
}
}
}
}
}
}
}
}
}
}
} else {
$vendor_term = get_term( absint( $vendor_category_id ), $preferred_taxonomy );
if( $vendor_term && $vendor_term->term_id && $vendor_term->name ) {
if( in_array( $vendor_term->term_id, $display_vendor_term) ) continue;
$display_vendor_term[$vendor_term->term_id] = $vendor_term->term_id;
?>
<option value="<?php echo $vendor_term->term_id; ?>" <?php if( $vendor_term->term_id == $search_category ) echo 'selected'; ?>><?php echo $vendor_term->name; ?></option>
<?php
}
}
}
}
?>
</select>
<?php } ?>
<?php do_action( 'wcfmmp_after_store_list_category_filter', $args ); ?>
<?php } ?>
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。