web-dev-qa-db-ja.com

分類法編集用語ページの下部にフォームのチェックボックスを挿入

カスタム分類法「プロバイダー」を作成しました。また、用語の追加と編集のページにチェックボックスを追加しました。問題は、私が作成したチェックボックスがページの一番上、[タグの編集]ヘッダーのすぐ下に表示されていることです。送信ボタンの上の一番下に表示します。

(関数はクラス内で呼び出されているので$ thisへの参照です)

add_action('provider_add_form_fields', array($this, 'category_metabox_add'), 10, 1);
add_action('provider_edit_form_fields', array($this, 'category_metabox_add'), 10, 1);

public function category_metabox_add($tag) { 

    $term_val = get_term_meta($tag->term_id, 'show_on_provider', true);
    $term_val == 1 ? $checked = 'checked' : $checked = '';

    echo '  
    <div class="form-field">
        <label for="show_on_list">Show on list?</label>
        <input name="show_on_provider" id="show_on_provider" type="checkbox" value="1" '.$checked.' />
        <p class="description">WIll this show on the list?</p>
    </div>
    ';

} 
1
Bazlid

私の悪い - 編集ページのマークアップは追加とは異なります。代わりにこれを使った

add_action('provider_edit_form_fields', array($this, 'category_metabox_edit'), 10, 1);

// add image field in edit form
function category_metabox_edit($tag) {

    $term_val = get_term_meta($tag->term_id, 'show_on_provider', true);
    $term_val == 1 ? $checked = 'checked' : $checked = '';

    echo '<tr class="form-field">
        <th scope="row" valign="top"><label for="show_on_provider">' . __('Show on list?') . '</label></th>
        <td>
        <input name="show_on_provider" id="show_on_provider" type="checkbox" value="1" '.$checked.' />
        </td>
    </tr>';
}
1
Bazlid