我们当前的网站使用带有父子关系的自定义文章类型。在查看父级文章时,使用插件来获取其子文章,并将其显示在页面的选项卡中。
我们现在在几个网站上使用了新版本的自定义主题,不再使用父/子关系。相反,我们在自定义文章类型中使用元框,所有附加信息都可以在那里填写。
我想要更新这个特定网站的主题到最新版本,但由于它使用父/子关系,所以我想添加一些代码行到主题中,以便实现相同的结果并保持旧的文章不变,而不是修改它们。
这是我想做的:我想要一种非常简单的方法,在父级文章页面上按顺序显示所有子文章。
我找到了一些想法,但目前没有一个似乎有效。(例如:http://www.wpbeginner.com/wp-tutorials/how-to-display-a-list-of-child-pages-for-a-parent-page-in-wordpress/ 以及这个 https://wordpress.stackexchange.com/questions/153042/how-to-display-list-of-child-pages-with-parent-in-wordpress)。我不知道是否与我使用的是文章而不是页面有关。
我不想要子文章的列表,而是直接显示它们的内容。认为实现这一点的最佳方法可能是创建一个函数来检索子文章,然后在模板中回显结果。这样,即使不更改我们的主题,它也可以与我们的不同网站一起使用。
编辑:
到目前为止,在single.php中,我尝试了以下内容:
我随后修改了代码为:
我们现在在几个网站上使用了新版本的自定义主题,不再使用父/子关系。相反,我们在自定义文章类型中使用元框,所有附加信息都可以在那里填写。
我想要更新这个特定网站的主题到最新版本,但由于它使用父/子关系,所以我想添加一些代码行到主题中,以便实现相同的结果并保持旧的文章不变,而不是修改它们。
这是我想做的:我想要一种非常简单的方法,在父级文章页面上按顺序显示所有子文章。
我找到了一些想法,但目前没有一个似乎有效。(例如:http://www.wpbeginner.com/wp-tutorials/how-to-display-a-list-of-child-pages-for-a-parent-page-in-wordpress/ 以及这个 https://wordpress.stackexchange.com/questions/153042/how-to-display-list-of-child-pages-with-parent-in-wordpress)。我不知道是否与我使用的是文章而不是页面有关。
我不想要子文章的列表,而是直接显示它们的内容。认为实现这一点的最佳方法可能是创建一个函数来检索子文章,然后在模板中回显结果。这样,即使不更改我们的主题,它也可以与我们的不同网站一起使用。
编辑:
到目前为止,在single.php中,我尝试了以下内容:
$query = new WP_Query( array(
'post_parent' => get_the_ID(),
));
while($query->have_posts()) {
$query->the_post();
the_content(); //Outputs child's content as it is
}
wp_reset_query();`
我随后修改了代码为:
$new_args = array(
'order' => 'ASC',
'post_parent' => get_the_ID()
);
$new_query = new WP_Query( $new_args);
if ($new_query->have_posts() ) {
while($new_query->have_posts() ) {
$new_query->the_post();
the_content();
}
wp_reset_query();
}
然后,由于它仍然无法工作,我把它改成了:
$children = get_children( array('post_parent' => get_the_ID()) );
foreach ( $children as $children_id => $children ) {
the_title();
the_content();
}
最新的版本似乎能够返回一些结果,它“知道”当前文章中有子文章,但我正在显示当前文章的标题和内容。我相当确定我不应该在这里使用the_content()
。