首页 文章

如何在Wordpress中的窗口小部件中呈现格式化的帖子内容

提问于
浏览
0

我是wordpress的新手,并尝试制作一个小部件,它只显示特定类别的最后一个帖子 .

要做到这一点,我在管理员中给出了一些设置,以选择管理员想要显示最后一个帖子的类别(最后一个ID的帖子) .

我在小部件中使用以下代码来显示帖子内容:

$query_arguments = array(
        'posts_per_page' => (int) 1,
        'post_type' => 'post',
        'post_status' => 'publish',
        'cat' => (int) $settings['category'],
        'order' => 'DESC',
        'orderby' => (($settings['display_by'] == 0) ? 'ID' : 'date')
    );  

$posts_query = new WP_Query( $query_arguments );  
if ($posts_query->have_posts()) {  
    $posts = $posts_query->get_posts();  
    $post = $posts[0];  
    echo $post->post_content;
}

但是上面的代码在一个段落中显示内容,或者你可以说没有格式 . 我做了很多搜索,发现我需要应用“the_content”过滤器来格式化内容 . 所以我做了以下代码:

if ($posts_query->have_posts()) {  
    $posts = $posts_query->get_posts();  
    $post = $posts[0]; 
    $content = apply_filters('the_content', $post->post_content); 
    echo $content;
}

现在上面的更改是返回空字符串 . 我有很多东西,但每个人都说要使用应用过滤器或使用the_content()函数 . 我尝试了两种解决方案但没有发生任何事情 .

任何人都可以分享这个问题的解决方案吗?

2 回答

  • 0

    请检查您是否通过echo $ post-> post_content获取$ post-> post_content中的任何文本

  • 0

    你需要做的就是,

    $query_arguments = array(
            'posts_per_page' => (int) 1,
            'post_type' => 'post',
            'post_status' => 'publish',
            'cat' => (int) $settings['category'],
            'order' => 'DESC',
            'orderby' => (($settings['display_by'] == 0) ? 'ID' : 'date')
        );  
    
    $posts_query = new WP_Query( $query_arguments );  
    while ($posts_query->have_posts()) { 
        $posts_query->the_post();
        echo get_the_content();
    }
    

相关问题