2015-07-19 44 views
0

我已经写了一些简码以便能够将最新的帖子摘要放置在页面的任何位置,但是我遇到了一个问题,我现在试图解决这些问题!而且我找不到get_the_excerpt()为什么会删除页面其他部分文本周围的所有p标签。当我从代码中删除get_the_excerpt()时,其他短文内的其他文本没有问题,但是当我将其放回时,问题又回来了!请查看代码并告诉我我做了什么错误或可以改进!谢谢!get_the_excerpt()删除页面中的所有p标签

<?php 

function show_posts() { 
    global $post; 

    $html = ""; 
    $extra_css = ""; 
    $latestPosts = new WP_Query('cat=5&posts_per_page=1'); 

    if($latestPosts->have_posts()): 
     while($latestPosts->have_posts()): $latestPosts->the_post(); 

     if (has_post_thumbnail()) {  
      $extra_css = "has-thumbnail"; 
     } 

     $html = "<div class='wide'><article class='post {$extra_css}'>"; 
     $html .= "<div class='post-thumbnail'>"; 
     $html .= "<a href='" . get_the_permalink() . "'>" . get_the_post_thumbnail(null,'thumbnail') . "</a>"; 
     $html .= "<div class='post-thumbnail-date'><h4>" . get_the_time('Y-m-d') . " </h4></div>"; 
     $html .= "</div><!-- end post-thumbnail -->"; 
     $html .= "<h3><a href='" . get_the_permalink() . "'>" . get_the_title() . "</a></h3>"; 
     $html .= "<p class='post-info'>" . get_the_time('Y-m-d') . " | Av " . get_the_author() . "</p>"; 
     $html .= "<p class='post-text'>" . get_the_excerpt() . "</p><p><a href='" . get_the_permalink() . "'> Läs mer...</a></p>"; 
     $html .= "</article></div>"; 

     endwhile; 
    else: 
     // Error message 
    endif; 

    wp_reset_postdata(); 
    return $html; 
} 
add_shortcode('blogg','show_posts'); 

回答

0

get_the_excerpt()在别处去除<p>标签,因为你正在使用wpautop,并在段落中嵌套get_the_excerpt()。这意味着你最终会嵌套<p>标记,这是无效的HTML,并导致解析器感到困惑。

相反,你应该在<div>(或其他块级元素)中嵌套get_the_excerpt()

$html .= "<div class='post-text'>" . get_the_excerpt() . "</div><p><a href='" . get_the_permalink() . "'> Läs mer...</a></p>"; 
+0

谢谢,但它并没有帮助!我复制/粘贴你的代码行,我想你的问题最终会被解决,但没有:(其他想法?我的p标签是否真的嵌套!?对我来说,它们看起来像是他们开始和结束在对方之后? –