J'ai créé un "fournisseur" de taxonomie personnalisée. J'ai également ajouté une case à cocher aux pages d'ajout et de modification des termes. Le problème est que la case que j'ai créée apparaît tout en haut de la page, juste sous l'en-tête "Edit tag". Je veux qu'il apparaisse en bas - au-dessus du bouton d'envoi.
(Notez que les fonctions sont appelées dans une classe d'où la référence à $ 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>
';
}
Mon mauvais - la marque pour la page d'édition est différente de celle d'ajouter. Utilisé cela à la place
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>';
}