如何在WordPress中展示当前文章所属分类下的其他文章列表?

avatar
作者
筋斗云
阅读量:0
你可以使用以下代码来显示当前文章同分类下的文章列表:,,``php,$post_id = get_the_ID(); // 获取当前文章的ID,$terms = wp_get_post_terms($post_id, 'category'); // 获取当前文章的分类信息,,if (!empty($terms) && !is_wp_error($terms)) {, $cat_id = $terms[0]->term_id; // 获取第一个分类的ID, $args = array(, 'cat' => $cat_id,, 'orderby' => 'date',, 'order' => 'DESC',, 'posts_per_page' => 5, );, $query = new WP_Query($args);, if ($query->have_posts()) {, echo '';, while ($query->have_posts()) {, $query->the_post();, echo '' . get_the_title() . '';, }, echo '';, } else {, echo '没有找到相关的文章。';, }, wp_reset_postdata(); // 重置全局变量$post,} else {, echo '无法获取分类信息。';,},`,,这段代码首先获取当前文章的ID,然后获取其所属的分类信息。如果成功获取到分类信息,它会创建一个自定义的查询参数数组,包括分类ID、排序方式和每页显示的文章数量等。它使用WP_Query类进行查询,并遍历查询结果,输出文章标题和链接。如果没有找到相关的文章,会显示相应的提示信息。通过调用wp_reset_postdata()`函数来重置全局变量$post,以便后续的代码可以正常运行。

在WordPress中显示当前文章同分类下的文章列表,可以通过多种方式实现,以下是详细的步骤和代码示例:

如何在WordPress中展示当前文章所属分类下的其他文章列表?

方法一:使用WP_Query函数

1、获取当前文章的分类

需要获取当前文章所属的分类。

使用get_the_category()函数可以获取到当前文章的所有分类。

2、构建查询参数

从获取到的分类中提取出第一个分类的ID。

设置查询参数,包括分类ID、每页显示的文章数(如5篇),以及排除当前文章。

3、执行查询并输出结果

使用new WP_Query($args)进行查询。

通过循环输出查询到的文章列表。

 <?php // 获取当前文章的分类 $categories = get_the_category(); if ($categories) {     $category_ids = array();     foreach ($categories as $category) {         $category_ids[] = $category->term_id;     }     // 构建查询参数     $args = array(         'cat' => $category_ids[0], // 使用第一个分类的ID         'posts_per_page' => 5, // 显示5篇文章         'post__not_in' => array(get_the_ID()), // 排除当前文章     );     // 查询文章     $related_posts = new WP_Query($args);     // 输出文章列表     if ($related_posts->have_posts()) {         echo '<ul>';         while ($related_posts->have_posts()) {             $related_posts->the_post();             echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';         }         echo '</ul>';     }     // 重置查询     wp_reset_postdata(); } ?>

方法二:使用get_posts函数

1、获取分类ID:与方法一相同,首先获取当前文章的分类ID。

2、构建查询参数:使用get_posts()函数时,可以直接传入分类ID和其他参数。

3、执行查询并输出结果:通过循环输出查询到的文章列表。

 <?php $categories = get_the_category(); if ($categories) {     $category_ids = array();     foreach ($categories as $category) {         $category_ids[] = $category->term_id;     }     // 获取文章列表     $posts = get_posts('numberposts=5&category=' . $category_ids[0]);     // 输出文章列表     if ($posts) {         echo '<ul>';         foreach ($posts as $post) : setup_postdata($post);             echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';         endforeach;         echo '</ul>';     } } ?>

相关问题与解答

1、如何在侧边栏中显示同一分类下的最新文章?:可以在主题的sidebar.php文件中添加相应的代码,或者使用小工具功能,将自定义的小工具添加到侧边栏中,以显示同一分类下的最新文章。

2、如何优化文章列表的分页显示?:可以使用WordPress自带的分页功能,通过设置paged参数来实现分页,在$args数组中添加'paged' => get_query_var('paged') ? get_query_var('paged') : 1,并在URL中传递paged参数来控制分页。

以上就是关于“WordPress显示当前文章同分类下的文章列表”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!