Shortcode im Widget wird vor dem Titel gedruckt

{Diese Frage ist als doppelt markiert, aber ich denke, meine Frage und Antwort darauf ist viel einfacher als die ursprüngliche}

Hallo, ich habe diesen folgenden Code, der vor dem Widget-Titel angezeigt wird. Was ich aus meinen Recherchen verstehe, ist, dass ich Return verwenden muss, aber es funktioniert nicht. Bitte helfen Sie.

<?php function get_review_code(){ echo '
'; echo '
    '; global $post; $args = array( 'numberposts' => 10, 'category_name' => 'review' ); $posts = get_posts( $args ); foreach( $posts as $post ): setup_postdata($post); echo '
  • '; echo '
    '; echo the_excerpt(); $author_id=$post->post_author; echo '
    '; echo '- '; echo the_author_meta('first_name'); echo ' '; echo the_author_meta('last_name'); echo '
    '; echo '
    '; echo get_avatar( $post->post_author, 230 ); echo '
  • '; endforeach; echo '
'; echo '
'; } add_shortcode('review_review', 'get_review_code');

Solutions Collecting From Web of "Shortcode im Widget wird vor dem Titel gedruckt"

Einige der Anrufe in Ihrer function geben ein Echo zurück und nicht zurück. Verwenden Sie get_the_author_meta anstelle von the_author_meta . Verwenden Sie anstelle von the_excerpt get_the_excerpt . Und benutze jycr753’s Ansatz; gib die ganze Zeichenfolge zurück, anstatt sie zu wiederholen.

Abkürzung sollte einen Wert zurückgeben, wenn Sie es Echo, wird dies vor allem anderen platzieren. versuche das: (nicht getestet)

 < ?php function get_review_code(){ global $post; $content = ""; $content .= '
'; $content .= '
    '; $args = array( 'numberposts' => 10, 'category_name' => 'review' ); $posts = get_posts( $args ); foreach( $posts as $post ): setup_postdata($post); $content .= '
  • '; $content .= '
    '; $content .= get_the_excerpt(); $author_id = $post->post_author; $content .= '
    '; $content .= '- '; $content .= get_the_author_meta('first_name'); $content .= ' '; $content .= get_the_author_meta('last_name'); $content .= '
    '; $content .= '
    '; $content .= get_avatar( $post->post_author, 230 ); $content .= '
  • '; endforeach; $content .= '
'; $content .= ''; return $content; } add_shortcode('review_review', 'get_review_code'); ?>