it-swarm.com.de

Standard-WordPress-Taxonomie (Tag) - So fügen Sie ein benutzerdefiniertes Feld zum Formular hinzu und speichern es in der Datenbank

Dadurch wird das Feld dem Formular zum Hinzufügen neuer Tags hinzugefügt

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

Dies fügt das Feld dem Bearbeitungs-Tag-Formular hinzu

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

Dies ist der nicht funktionierende Teil Speichern und Abrufen von Daten aus der Datenbank

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

Ich denke Action Hooks sind nicht korrekt.

Nur um zu erwähnen, der Code stammt ursprünglich aus einer anderen Frage. Ich habe es nur an meine Bedürfnisse angepasst.

Hinzufügen von Colorpicker-Feld zu Kategorie

1

Zum Aktualisieren und Speichern verwenden Sie add_action( 'edit_term', 'save_termmeta_tag' );

2
Ben