Textfeld für benutzerdefiniertes Metabox: wie kann man nur auf alphabetisch oder numerisch beschränken

Ich habe ein benutzerdefiniertes Meta-Textfeld zum Hinzufügen einer Body-class zu einer bestimmten Seite erstellt. Ich möchte den Text auf nur Buchstaben beschränken.

Außerdem verwende ich https://github.com/webdevstudios/Custom-Metaboxes-and-Fields-for-WordPress , um die Felder der Metabox zu erstellen.

Das Feld funktioniert, aber ich kann beliebige Zeichen eingeben; z.B, {),;. Das wird für eine Bodyklasse nicht funktionieren.

Vielen Dank

Solutions Collecting From Web of "Textfeld für benutzerdefiniertes Metabox: wie kann man nur auf alphabetisch oder numerisch beschränken"

Ich habe es endlich herausgefunden. Das Plugin für benutzerdefinierte Meta-Boxen und Felder verfügt über eine Bereinigungseinstellung, in der Sie Ihre eigene Bereinigungsfunktion hinzufügen oder eine der standardmäßigen WordPress-Bereinigungsfunktionen verwenden können. In meinem Fall hat WordPress bereits eine Sanitize-function, die genau das tut, was ich wollte. Siehe den folgenden Code, insbesondere die Zeile “‘sanitization_cb’ => ‘sanitize_html_class’,”

  array( 'name' => __( 'Custom Body Class', 'cmb' ), 'id' => $prefix . 'wnd_bodyclass', 'type' => 'text_medium', 'sanitization_cb' => 'sanitize_html_class', // custom sanitization callback. see this page for details: https://codex.wordpress.org/Function_Reference/sanitize_text_field ), array( 'name' => __( 'Custom Post Class', 'cmb' ), 'id' => $prefix . 'wnd_postclass', 'type' => 'text_medium', ),