web-dev-qa-db-fra.com

Case à cocher Insérer un formulaire en bas de la page du terme de modification de taxonomie

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>
    ';

} 
1
Bazlid

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>';
}
1
Bazlid