WordPress: Standardwerte für benutzerdefinierte Felder (Custom Fields) festlegen
In diesem Beitrag archivieren wir ein Snippet, das es euch ermöglicht benutzerdefinierten Feldern in WordPress einen Standardwert zu übergeben.
Mit Hilfe von benutzerdefinierten Feldern lässt sich der Funktionsumfang von WordPress erheblich erweitern. In diesem Artikel archivieren wir ein Snippet, das euch ermöglicht, einem benutzerdefinierten Feld einen Standardwert in der Datenbank zuzuweisen.
Snippet einfügen
Um benutzerdefinierten Feldern in WordPress einen Standardwert zuzuweisen, müsst ihr folgendes Snippet in die functions.php
einfügen. Alternativ kommt auch der Einsatz eines seitenspezifischen Plugins in Frage.
add_action( 'save_post', 'kb_custom_field_default', 10, 2 );
function kb_custom_field_default( $post_id, WP_Post $post ) {
if (!get_post_meta( $post_id, 'CUSTOM-FIELD-KEY', true ) ) {
update_post_meta( $post_id, 'CUSTOM-FIELD-KEY', 'DEFAULT-VALUE' );
}
}
Code anpassen
Nun müsst ihr den soeben eingefügten Code auf eure Umsetzung anpassen. An Stelle von »CUSTOM-FIELD-KEY
« muss der Name eures benutzerdefinierten Feldes (Custom Fields) eingetragen werden. »DEFAULT-VALUE
« muss durch euren gewünschter Standardwert ersetzt werden.
Bereits veröffentlichte Beiträge aktualisieren
Der oben beschriebene Code wird ausgeführt, wenn der Beitrag gespeichert wird. Er wirkt sich folglich nur auf Beiträge aus, die noch nicht veröffentlicht wurden. Bereits veröffentlichte Beiträge erhalten den Standardwert nicht rückwirkend.
Wenn ihr bereits publizierten Beiträgen ebenfalls den Standardwert übergeben wollt, müsst ihr einen kleinen Trick anwenden. Alle Beiträge müssen dazu neu gespeichert werden. Das erreicht ihr beispielsweise, indem ihr den Status des Beitrags kurzzeitig ändert. In der Beitragsübersicht könnt ihr per Massenbearbeitung beispielsweise alle Beiträge kurz auf »privat« stellen und direkt wieder veröffentlichen. Das führt dazu, dass alle Beiträge gespeichert werden und der Standardwert ergänzt wird.