代码之家  ›  专栏  ›  技术社区  ›  EnricoP

公文包插件中的get_the_post_thumbnail_url()返回错误的url

  •  0
  • EnricoP  · 技术社区  · 1 年前

    我开发了一个插件来创建一个公文包自定义帖子类型,并用一个短代码显示最后3篇发布的帖子的预览。

    一切都很好,一切都很正常,唯一的问题是,当我想用短代码显示帖子的缩略图作为帖子预览的背景图像时,它不会出现,图像url显示为这样,没有斜杠:

    <div class="col-sm-12 col-md-4 mb-5 portfolio-panel" id="porfolio-home-display" style="background-image: url(" https:="" sitedomain.com="" wp-content="" uploads="" 2021="" 10="" image-name.jpg");"=""><h5><a href="link">Link name</a></h5><a href="link">See this work</a></div>
    

    在这里,我将代码的一部分放在相对于短代码的位置:

    function wpb_rand_portfolio() {
        
        $args = array(
            'post_type' => 'portfolio',
            'orderby'   => 'rand',
            'posts_per_page' => 3, 
            );
         
        $the_query = new WP_Query( $args );
         
        if ( $the_query->have_posts() ) {
            
        $string .= '<div class="container portfolio-panel-homecontainer">';
        $string .= '<div class="row portfolio-panel-homebox squares">'; 
        while ( $the_query->have_posts() ) {
            $the_query->the_post();
            $string .= '<div class="col-sm-12 col-md-4 mb-5 portfolio-panel" id="porfolio-home-display" style="background-image: url("'. get_the_post_thumbnail_url() .'");">';
            $string .= '<h5><a href="'. get_permalink() .'">'. get_the_title() .'</a></h5>';
            $string .= '<a href="'. get_permalink() .'">'. sprintf( __( 'See this work', 'theme-name' )) .'</a>';
            $string .= '</div>';
        }
        $string .= '</div>';
            $string .= '</div>';
        $string .= '</div>';
        // Restore original Post Data 
        wp_reset_postdata();
        
        } else {
        
        $string .= '<div class="container portfolio-panel-homecontainer">';
        $string .= '<div class="row portfolio-panel-homebox squares">'; 
        $string .= '<div class="col-12">';  
        $string .= 'no posts found';
        $string .= '</div>';
        $string .= '</div>';
        $string .= '</div>';
        
        }
         
        return $string; 
        
        } 
     
    add_shortcode('wpb-random-portfolio','wpb_rand_portfolio');
    add_filter('widget_text', 'do_shortcode'); 
    

    我在网站上搜索过,但没有找到任何解决方案。你能帮助我吗?

    谢谢大家

    0 回复  |  直到 1 年前