do_shortcode () innerhalb der Admin-Seite

Ich benutze ein paar Plugins, die Shortcodes haben … aber anstatt eine öffentliche Seite für den Inhalt zu erstellen, habe ich einige neue Seiten innerhalb des add_menu_page mit add_menu_page und ich muss wissen, wie man do_shortcode() in diesem verwendet Kontext.

Wie es aussieht, spuckt alle function die Zeichenfolge aus. Ich gehe davon aus, dass die Shortcode-API nicht auf einer Admin-Seite verfügbar ist.

Wie komme ich hier zurecht? Es gibt keine Dokumentation, die ich finden kann, die erläutert, wie man Shortcodes innerhalb des WP Admins verwendet … oder ob es überhaupt möglich ist.


Speziell versuche ich WooCommerce Shortcodes innerhalb des WP Admins zu nutzen. Ich hasse die Tatsache, dass Plugins das WP-Backend nicht für die Konto- / Benutzerverwaltung verwenden.

Solutions Collecting From Web of "do_shortcode () innerhalb der Admin-Seite"

Rufen Sie statt do_shortcode() einfach die mit dem do_shortcode() function auf.

Beispiel

Es gibt einen Shortcode namens [example] und eine function, die als Shortcode-Handler registriert ist:

 function example_shortcode( $atts = array(), $content = '' ) { extract( shortcode_atts( array ( 'before' => '', 'after' => '', ), $atts ) ); return $before . $content . $after; } add_shortcode( 'example', 'example_shortcode' ); 

Auf Ihrer Admin-Seite rufen Sie einfach die function auf:

 echo example_shortcode( array ( 'before' => 'This ', 'after' => '!' ), 'works' ); 

Ausgabe: This works! .

Schneller und zuverlässiger als do_shortcode() .

Es scheint, dass die Shortcode-API im Admin verfügbar ist , aber ihre Ausgabe hängt von dem betreffenden Shortcode-Tag ab.

Der eingebaute [caption] funktioniert wie erwartet, während [embed] nicht funktioniert (dies liegt daran, dass die embed-API den the_content “lazy- the_content “) und abhängig vom the_content Filter ist, also technisch gesehen nicht der Shortcode-API ).

Fazit: Es hängt ganz davon ab, wie & wann das Tag registriert ist und was es bei der Ausführung annimmt / annimmt.

@dcolumbus Über welches Tag reden wir in deinem Fall?