WP_editor wendet wpautop nicht auf einzeiligen Inhalt an

Bei einem aktuellen Projekt versuche ich, eine Textzeile zu wiederholen, die auf der Optionsseite des Themas gespeichert ist. Ich benutze die wp_editor-function für die Benutzereingabe anstelle eines Textfelds. Der Code, den ich verwende, ist ziemlich einfach:

  :    true,'media_buttons'=>false)); ?> 

Ich habe versucht, sicherzustellen, dass Absätze verwendet werden, indem Sie wpautop => true hinzufügen. Das Problem tritt auf, wenn ich versuche, im WYSIWYG-Modus eine einzelne Textzeile hinzuzufügen. Beim Speichern des Feldes wird der Absatz nicht hinzugefügt. Nach dem erneuten Laden der Seite wird die HTML-Ansicht wieder in WYSIWYG geändert und alle meine HTML-Tags sind verschwunden.

Ich habe versucht, die wpautop function manuell zu verwenden, aber das würde nach der wpautop einen leeren Absatz anhängen. Mein Code sieht so aus:

  

Und wird zurückkehren:

 

Lorem ipsum (.....) dolor sit amet. Great rich text

Ich verstehe nicht, was mir hier fehlt.

Solutions Collecting From Web of "WP_editor wendet wpautop nicht auf einzeiligen Inhalt an"

Nach einigen Recherchen habe ich herausgefunden, dass meine Speicherfunktion nicht gut funktioniert. Ich denke, ich sollte wpautop und wptexturize auf diese Einträge anwenden. Meine Speicherfunktion sieht so aus:

  if ( 'save' == $_REQUEST['action'] ) { foreach ($options as $value) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } foreach ($options as $value) { if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option( $value['id'] ); } } header("Location: themes.php?page=functions.php&saved=true"); die; } 

Da der wp_editor im Array als wysiwyg definiert ist, sollte ich in der Lage sein, die GET-Anfrage zu bekommen, um zu bestimmen, ob das Feld vom wp_editor gesendet wird. Ich habe den Code angepasst und jetzt funktioniert es:

  if ( 'save' == $_REQUEST['action'] ) { foreach ($options as $value) { if ($_REQUEST[$value['type']] == 'wysiwyg' ) { update_option( $value['id'], wpautop(wptexturize($_REQUEST[ $value['id'] ] ))); } else { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } foreach ($options as $value) { if( isset( $_REQUEST[ $value['id'] ] ) ) { if($_REQUEST[$value['type']] == 'wysiwyg') { update_option( $value['id'], wpautop(wptexturize($_REQUEST[ $value['id'] ] ))); } else { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } } else { delete_option( $value['id'] ); } } } header("Location: themes.php?page=functions.php&saved=true"); die; } 

Der Code könnte einige Verbesserungen verwenden, aber es funktioniert für jetzt 🙂