
在wordpress中,有时我们需要在父级文章页面展示其相关的子文章,以构建更清晰的内容结构和提升用户体验。 这可以通过自定义 wp_query 来实现,从而检索并显示指定父级文章下的所有子文章。
以下代码展示了如何在父级文章页面上显示子文章:
<?php
$args = array(
'post_type' => 'custom-post-type-name', // 替换为你的自定义文章类型名称,如果使用默认文章类型 'post',则无需修改
'posts_per_page' => 15, // 每页显示的文章数量,可根据需求调整
'post_parent' => $post->ID, // 获取当前文章的ID作为父级文章ID
'order' => 'ASC', // 子文章的排序方式,这里设置为升序 (ASC) ,也可以设置为降序 (DESC)
);
$parent = new WP_Query( $args );
if ( $parent->have_posts() ) :
while ( $parent->have_posts() ) :
$parent->the_post();
?>
<div id="parent-<?php the_ID(); ?>" class="parent-page">
<h1>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php the_title(); ?>
</a>
</h1>
</div>
<?php
endwhile;
endif;
?>代码解释:
$args 数组: 这个数组定义了 WP_Query 的查询参数。
$parent = new WP_Query( $args ): 创建一个新的 WP_Query 实例,并将 $args 数组作为参数传递给它。这将执行查询并返回符合条件的文章。
if ( $parent->have_posts() ) :: 检查查询是否返回了任何文章。
while ( $parent->have_posts() ) : $parent->the_post();: 循环遍历查询结果中的每一篇文章。$parent->the_post() 函数设置全局 $post 对象为当前文章,以便可以在循环中使用模板标签。
<div id="parent-<?php the_ID(); ?>" class="parent-page">: 创建一个 div 元素来包裹每个子文章。the_ID() 函数输出当前文章的ID,可以用于创建唯一的ID。
<h1><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1>: 创建一个标题,其中包含指向子文章的链接。the_permalink() 函数输出当前文章的永久链接,the_title() 函数输出当前文章的标题。
endwhile; 和 endif;: 结束 while 循环和 if 语句。
将上述代码添加到你的父级文章模板文件中,通常是 single.php 或自定义文章类型的 single-{post_type}.php 文件中。 确保将 'custom-post-type-name' 替换为你实际使用的自定义文章类型名称。
通过使用 WP_Query 和正确的参数设置,可以轻松地在WordPress父级文章页面上显示子文章。 这可以帮助你构建更清晰的内容结构,并提升用户体验。 记住,在实现这个功能时,需要仔细检查代码,并确保它与你的主题和插件兼容。
以上就是WordPress教程:在父级文章页面显示子文章的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号