Warum brechen auf dieser Seite keine Absätze?

Diese Seite wurde mit einem kürzlichen Posts-Shortcode erstellt, der zu meinem Thema gehört. Es werden keine Absatzumbrüche angezeigt, die ich im Editor hinzugefügt habe, und ich möchte es. Wie kann ich den Shortcode erhalten, um die Absatzunterbrechungen anzuzeigen?

Dies ist der Code, der die Liste der letzten Beiträge zusammenstellt:

if (!function_exists('mo_get_thumbnail_post_list')) { function mo_get_thumbnail_post_list($args) { /* Set the default arguments. */ $defaults = array( 'loop' => null, 'image_size' => 'small', 'style' => null, 'show_meta' => false, 'excerpt_count' => 120, 'hide_thumbnail' => false ); /* Merge the input arguments and the defaults. */ $args = wp_parse_args($args, $defaults); /* Extract the array to allow easy use of variables. */ extract($args); if ($loop->have_posts()): $css_class = $image_size . '-size'; $image_size = mo_get_post_image_size($image_size); $style = ($style ? ' ' . $style : ''); $output = '
    '; $hide_thumbnail = mo_to_boolean($hide_thumbnail); $show_meta = mo_to_boolean($show_meta); while ($loop->have_posts()) : $loop->the_post(); $output .= '
  • '; $thumbnail_exists = false; $output .= "\n" . '
    ' . "\n"; // Removed id="post-'.get_the_ID() to help avoid duplicate IDs validation error in the page if (!$hide_thumbnail) { $thumbnail_url = mo_get_thumbnail(array('image_size' => $image_size)); if (!empty($thumbnail_url)) { $thumbnail_exists = true; $output .= $thumbnail_url; } } $output .= "\n" . '
    '; $output .= "\n" . the_title('

    ', '

    ', false); if ($show_meta) { $output .= ''; } if ($excerpt_count != 0) { $output .= "\n" . '
    '; $output .= get_the_content(); $output .= "\n" . '
    '; } $output .= "\n" . '
    '; $output .= "\n" . '
    '; $output .= '
  • '; endwhile; $output .= '
'; endif; wp_reset_postdata(); return $output; } }

Ich habe den Theme Creator darüber kontaktiert und sie waren nicht sehr hilfreich in der Sache.

Solutions Collecting From Web of "Warum brechen auf dieser Seite keine Absätze?"

get_the_content() gibt ungefilterten Inhalt zurück, und mit einem Shortcode können Sie nicht den the_content() , um gefilterten Inhalt zurückzugeben, da Sie innerhalb eines the_content() nicht echo können. Ihre beste Option ist hier, die the_content filters auf get_the_content() , etwa so:

 apply_filters( 'the_content', get_the_content() ); 

BEARBEITEN

Exakte Verwendung, ersetzen

 $output .= get_the_content(); 

mit

 $output .= apply_filters( 'the_content', get_the_content() ); 

Hier eine Lösung gefunden :

 function get_the_content_with_formatting ($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') { $content = get_the_content($more_link_text, $stripteaser, $more_file); $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); return $content; }