Cela ajoute le champ au formulaire Ajouter un nouveau tag.
function tag_add_form_fields ( $taxonomy ){
?>
<div class="form-field term-colorpicker-wrap">
<label for="term-colorpicker">Category Color</label>
<input type="color" name="_tag_color" value="#737373" class="colorpicker" id="term-colorpicker" />
<p>This is the field description where you can tell the user how the color is used in the theme.</p>
</div>
<?php
}
add_action('add_tag_form_fields','tag_add_form_fields');
Cela ajoute le champ au formulaire de balise d'édition
function tag_edit_form_fields ( $term ) {
$color = get_term_meta( $term->term_id, '_tag_color', true );
$color = ( ! empty( $color ) ) ? "#{$color}" : '#737373';
?>
<tr class="form-field term-colorpicker-wrap">
<th scope="row"><label for="term-colorpicker">Severity Color: <?php echo $color; ?></label></th>
<td>
<input type="color" name="_tag_color" value=" <?php echo $color; ?>" class="colorpicker" id="term-colorpicker" />
<p class="description">This is the field description where you can tell the user how the color is used in the theme.</p>
</td>
</tr>
<?php
}
add_action('edit_tag_form_fields','tag_edit_form_fields');
Ceci est la partie inutilisable Sauvegarde et extraction de données de la base de données
function save_termmeta_tag( $term_id ) {
// Save term color if possible
if( isset( $_POST['_tag_color'] ) && ! empty( $_POST['_tag_color'] ) ) {
update_term_meta( $term_id, '_tag_color', sanitize_hex_color_no_hash( $_POST['_tag_color'] ) );
} else {
delete_term_meta( $term_id, '_tag_color' );
}
}
add_action( 'created_tag', 'save_termmeta_tag' );
add_action( 'edited_tag', 'save_termmeta_tag' );
Je suppose que les crochets d'action ne sont pas corrects.
Juste pour mentionner, le code est à l'origine d'une autre question postée. Je l'ai juste modifié pour répondre à mes besoins.
Pour mettre à jour et enregistrer, utilisez add_action( 'edit_term', 'save_termmeta_tag' );