Archiv-Shortcode, der den Widget-Titel anzeigt

Ich verwende die folgende function, um einen Shortcode zu erstellen, der ein Drop-down für Post-Typ-Archive anzeigt:

// Email Archives Shortcode function email_archives_shortcode() { ?>    'monthly', 'format' => 'option', 'show_post_count' => 1, 'post_type' => 'emails' ) ); ?>  <?php } add_shortcode('email-archives', 'email_archives_shortcode'); 

Es funktioniert gut, außer wenn ich den Shortcode in ein Widget einfüge, wird es oberhalb des Widget-Titels statt unten angezeigt.

Solutions Collecting From Web of "Archiv-Shortcode, der den Widget-Titel anzeigt"

Entweder Ausgabepufferung verwenden:

 // Email Archives Shortcode function email_archives_shortcode() { ob_start(); ?>  < ?php return ob_get_clean(); } add_shortcode('email-archives', 'email_archives_shortcode'); 

Oder eine Zeichenfolge

 function email_archives_shortcode() { return sprintf( '', esc_attr( __( 'Select Month' ) ), wp_get_archives( array( 'type' => 'monthly', 'format' => 'option', 'show_post_count' => 1, 'post_type' => 'emails', echo => false, ) ) ); } add_shortcode('email-archives', 'email_archives_shortcode');