カスタム分類法「プロバイダー」を作成しました。また、用語の追加と編集のページにチェックボックスを追加しました。問題は、私が作成したチェックボックスがページの一番上、[タグの編集]ヘッダーのすぐ下に表示されていることです。送信ボタンの上の一番下に表示します。
(関数はクラス内で呼び出されているので$ 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>
';
}
私の悪い - 編集ページのマークアップは追加とは異なります。代わりにこれを使った
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>';
}