web-dev-qa-db-ja.com

Wp_dropdown_categories関数をwp_category_checklistと交換する

私はphpファイルに入ってwp関数を変更することによって検索ウィジェットのフィールドを変更しようとしています。現在、ドロップダウンの選択ボックスをカテゴリのチェックボックスに変更しようとしています(親カテゴリの上と下の子のカテゴリはアルファベット順)。可能であれば表示はドロップダウンする必要があります。

これが現在のドロップダウン選択ボックスコードです。

<?php 
                        wp_dropdown_categories( array(
                            'show_option_none'  => '-- '.__( 'Select a location', 'advanced-classifieds-and-directory-pro' ).' --',
                            'option_none_value' => $general_settings['base_location'],
                            'child_of'          => max( 0, $general_settings['base_location'] ),
                            'taxonomy'          => 'acadp_locations',
                            'name'              => 'loc',
                            'id'                => 'acadp-location-search-'.$id,
                            'class'             => 'form-control',
                            'orderby'           => 'name',
                            'selected'          => isset( $_GET['loc'] ) ? (int) $_GET['loc'] : -1,
                            'hierarchical'      => true,
                            'depth'             => 10,
                            'show_count'        => false,
                            'hide_empty'        => false,
                        ) );
                    ?>

組み込みのwp_category_checklist()機能を使用しようとしています。誰かが私を手伝ってくれる?私は非常に感謝します。

ありがとう、ルーク

1
Luke River

デフォルトのカテゴリではなく別の分類法で作業しているので、代わりに wp_category_checklist() を使用してはいけません。代わりに、おそらくもっと一般的な wp terms checklist() を使うべきです。この関数のシグネチャも wp_dropdown_categories() のものとは異なります。そしてarguments配列は全く異なるオプションを取ります。

あなたは以下のコードから始めて、それからあなたの必要性に従ってそれを適応させるべきです:

require_once ABSPATH . 'wp-admin/includes/template.php';

wp_terms_checklist( 0, array(
    'taxonomy' => 'acadp_locations',
) );

wp_terms_checklist()があなたのすべてのニーズに合うかどうかはわかりません。多分あなたはあなたの要求に出力を適応させるためにカスタムWalker(extend Walker_Category_Checklist() で始める)を書かなければならないでしょう。

1
JHoffmann