好的,这是一个... ...
在自定义模板上,我正在使用此代码来检索&显示子页面/帖子列表
$args = array(
'depth' => 1,
'show_date' => '',
'date_format' => get_option('date_format'),
'child_of' => $post->ID,
'exclude' => '',
'include' => '',
'title_li' => '',
'echo' => 1,
'authors' => '',
'sort_column' => 'menu_order, post_title',
'link_before' => '',
'link_after' => '',
'walker' => '' );
wp_list_pages( $args );
这很好用,我也想知道如何访问/创建array
子邮件ID。我的目标是通过每个子帖子的custom fields
函数使用它的ID访问一些get_post_meta()
元数据。
谢谢你们。
答案 0 :(得分:6)
我想我不太清楚这个,因为这是我第一次没有收到SO的回答。
我设法找到了我需要的信息,并将其放在此处供其他使用相同请求浏览的人。
ok - 获取所有子ID ..
$pages = get_pages('child_of=X');
foreach($pages as $child) {
// Now you have an object full of Children ID's that you can use for whatever
// E.G
echo $child->ID . "<br />";
}
答案 1 :(得分:3)
如果你想构建一个post id数组供以后使用,你可以这样做:
$pageids = array();
$pages = get_pages('child_of=X');
foreach($pages as $page){
$pageids[] = $page->ID;
}
你有一个干净的页面ID数组。
答案 2 :(得分:0)
$children = get_posts('post_parent=SLUG_OF_PARENT_POST&post_status=publish');
foreach($children as $child)
{
echo '<br/>ID:'.$child->ID;
}
您可以使用其他属性(例如$child->post_content
)...
如果你需要定义post_type,那么也要添加这个参数:&post_type=POST_TYPE_NAME
答案 3 :(得分:0)
另一种方法:
$my_page_id = 12345;
$child_query_args = array(
'post_parent' => $my_page_id,
'post_type' => 'page',
'posts_per_page' => -1,
'fields' => 'ids',
);
$child_query = new WP_Query($child_query_args);
if ( $child_query && $child_query->have_posts() && $child_query->posts ) {
// (Since fields=ids, $child_query->posts is just an array of IDs)
$child_ids = $child_query->posts;
foreach ( $child_ids as $child_id ) {
$whatever = get_post_meta( $child_id, 'whatever', true );
echo esc_html($whatever);
}
}