Verwenden Sie die QuickTags-Symbolleiste in einem beliebigen Textfeld

Lesen der quicktags.dev.js sehe ich in den Kommentaren

* Run quicktags(settings) to initialize it, where settings is an object containing up to 3 properties: * settings = { * id : 'my_id', the HTML ID of the textarea, required * buttons: '' Comma separated list of the names of the default buttons to show. Optional. * Current list of default button names: 'strong,em,link,block,del,ins,img,ul,ol,li,code,more,spell,close'; * } * * The settings can also be a string quicktags_id. * * quicktags_id string The ID of the textarea that will be the editor canvas * buttons string Comma separated list of the default buttons names that will be shown in that instance. 

was scheint, als ob ich in der Lage sein würde, die JavaScript-functionen quicktags () aufzurufen, übergebe es zumindest an die ID eines Textbereichs und ich sollte den QuickTags-Editor erhalten, der vor jedem Textfeld erstellt wurde. (Ich arbeite in einer Metabox).

Wenn ich jedoch Folgendes in meinen Code einfüge:

 try { quicktags( '_repeating_textareas_meta[repeating_textareas][0][textarea]'); } catch(e){} 

was ich im Wesentlichen von ein bisschen Javascript kopiert habe, dass WP es in der Quelle hat und meine Metabox-ID hinzugefügt hat.

Es druckt das Div aus, wo die Quicktags-Symbolleiste sein sollte, macht aber keine Buttons

 

console.log zeigt keine Fehler an. Und ich schwöre, dass ich diesmal alle möglichen Manipulationen am Quellcode rückgängig gemacht habe.

BEARBEITEN:

Ich habe das Problem isoliert, wo das Skript in der Quelle erscheint … mit Fred Rochas function funktioniert gut (und sehr ähnlich wie ich es erwartet), wenn es auf den Admin_print_footer_scripts läuft, aber nicht auf after_wp_tiny_mce … es ergibt sich das gleiche leer Toolbar, die ich bekam.

Andere Teile meines jquery-Plugins müssen nach der Initialisierung der tinymce-Einstellungen ausgeführt werden (da ich gerade die bestehenden Einstellungen ausleihe), also warum würde es auf dem einen Haken richtig funktionieren, aber nicht auf einem späteren Haken?

Solutions Collecting From Web of "Verwenden Sie die QuickTags-Symbolleiste in einem beliebigen Textfeld"

Ich bin in genau dieses Problem gestolpert und habe die Quicktags zur Arbeit gebracht.

Hier ist der Code, der zu functions.php hinzugefügt werden soll:

 < ?php add_action('admin_print_footer_scripts','my_admin_print_footer_scripts'); function my_admin_print_footer_scripts() { ?>  < ?php } ?> 

Dies ist der grundlegende Code, mit dem Quicktags funktionieren sollen.

Wenn Sie alle (Verve) -Metaboxen durchsuchen und eine Symbolleiste zuweisen möchten, könnte der folgende Code ausreichen:

 add_action('admin_print_footer_scripts','my_admin_print_footer_scripts'); function my_admin_print_footer_scripts() { ?> < ?php } ?> 

Um die Zeilenumbrüche an Ihrem Frontend zu vermeiden, stellen Sie sicher, dass Sie den Filter “the_content” verwenden, wenn Sie den Textarea-Inhalt ausgeben:

 // schedule is the slug of the custom meta field $schedule_juice = get_post_meta($current_post_ID, "schedule", false); // preserve line breaks $content = apply_filters('the_content', $schedule_juice[0]); echo $content; 

Die Priorität, mit der die Methode my_admin_print_footer_scripts aufgerufen wurde, war das Blockierungsproblem.

Viel Glück!

Ich konnte das Quicktag-Skript von Alex King in meinem Kommentarformular anzeigen.

Ich habe die Schritte und den Code hier dokumentiert.

 add_filter( 'comment_form_defaults', 'pc_comment_form_args' ); function pc_comment_form_args( $args ) { $args['comment_field'] = '

' . '' . '' . '' . '

'; return $args; }

Laden Sie einfach das Alex Kings QuickTag-Skript herunter und sperren Sie es. 🙂