So fügen Sie den Wysiwyg-Editor in der WordPress-Metabox hinzu
Lesezeit: 3 Minuten
Ich erstelle eine Meta-Box für meinen benutzerdefinierten Beitragstyp. Es gibt mehrere Felder, in denen ich lieber den Wysiwyg-Editor verwenden möchte <textarea>. Ist es möglich, mehrere Editoren zu einer Metabox hinzuzufügen?
Vergessen Sie das Hinzufügen von benutzerdefinierten Codes, verwenden Sie Erweiterte benutzerdefinierte Felderes ist ausgezeichnet und vereinfacht Ihr Leben.
Aber für erweiterte benutzerdefinierte Felder müssen Sie etwa 30,00 $ für ein Repeater-Feld bezahlen. Ich mache lieber meine eigenen.
– Matthew
25. Juni 2017 um 20:14 Uhr
@Matthew Du programmierst lieber selbst, als 30,00 $ zu bezahlen? Was denken Sie, wie lange Sie brauchen werden, um das umzusetzen?
– Danny Coulombe
4. Juli 2017 um 14:54 Uhr
@DannyCoulombe Es hat nicht lange gedauert. Es war auch eine tolle Lernerfahrung! Wenn Sie neugierig sind, können Sie es sich ansehen Hier
– Matthew
14. Juli 2017 um 20:24 Uhr
@Matthew zum Lernen, dann hast du meinen Segen! 🙂
– Danny Coulombe
14. Juli 2017 um 20:43 Uhr
‘get_post_meta($post’ muss ‘get_post_meta($post->ID’ sein
Vergessen Sie nicht, die einzustellen id Argument zu etwas anderem als der leeren Zeichenfolge oder es funktioniert nicht …
– Warten auf Entwickler…
8. August 2012 um 14:45 Uhr
WP-Fan
Sie müssen die Präsentation jedoch durch die Funktion nl2br() ersetzen, da Textarea in benutzerdefinierten Vorlagen das Toogle-JS-Problem haben, das alle Ihre entfernt <P> und <br/> Tags und damit alle Zeilenumbrüche.
Benutzer3962908
// for custom post type
function wo_second_editor($post) {
echo "<h3>Write here your text for the blue box on the right:</h3>";
$content = get_post_meta($post->ID, 'wo_blue_box' , true ) ;
wp_editor( htmlspecialchars_decode($content), 'wo_blue_box', array("media_buttons" => false) );
}
add_action('edit_form_advanced', 'wo_second_editor');
function wo_save_postdata($post_id, $post, $update) {
//...
if (!empty($_POST['wo_blue_box'])) {
$data=htmlspecialchars($_POST['wo_blue_box']);
update_post_meta($post_id, 'wo_blue_box', $data );
}
}
add_action('save_post', 'wo_save_postdata');
// Theme:
<div class="blue">
<?php
$content = get_post_meta(get_the_ID(), 'wo_blue_box' , true );
$content = htmlspecialchars_decode($content);
$content = wpautop( $content );
echo $content;
?>
</div>
Sie können den standardmäßigen Texteditor von WordPress in der Metabox verwenden
add_action( 'edit_page_form', 'my_second_editor' );
function my_second_editor() {
// get and set $content somehow...
wp_editor( $content, 'mysecondeditor' );
}