[英]How to render formatted post content in widget in Wordpress
我是wordpress的新手,尝试制作一个仅显示particuler类别的最新帖子的小部件。
为此,我在admin中进行了一些设置,以选择管理员要显示其最新帖子(最新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;
}
现在,以上更改返回了空字符串。 我有很多东西,但每个人都在说要使用Apply过滤器或使用the_content()函数。 我已经尝试了两种解决方案,但没有任何反应。
谁能分享这个问题的解决方案?
请检查是否通过echo $ post-> post_content在$ post-> post_content中获取任何文本
您需要做的就是
$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();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.