我正在使用此代码填充元框中的下拉菜单。
$parents = get_posts(
array(
\'post_type\' => \'jhk_story\',
\'orderby\' => \'ID\',
\'order\' => \'ASC\',
\'numberposts\' => -1,
\'exclude\' => array(121, 131, 138),
)
);
此post\\u类型包含post\\u类型“jhk\\u frames”的父级,后者是唯一的子级。因此,子项在其post\\u parent字段中包含其父项的post\\u ID。父项在其post\\u parent字段中仍然包含默认的零。
我的问题是:如何只选择post\\u类型的“jhk\\U故事”中有孩子的帖子?
下一步是将这些帖子的id放入“exclude”数组。您现在看到的值是我放在那里的,例如(和一个有效的检查)。
任何帮助都将不胜感激。
SO网友:PageMaker
经过三天的努力,我终于找到了答案。是的,我知道。。。为我辩护,我可以说这是我的第一个WP项目。我是这样做的:
$exclude = get_excluded_parents();
$parents = get_posts(
array(
\'post_type\' => \'jhk_story\',
\'orderby\' => \'ID\',
\'order\' => \'ASC\',
\'numberposts\' => -1,
\'exclude\' => $exclude,
)
);
The rest of the code here ...
}
} // story_frame_attributes_meta_box()
/*
* Filters excluded parents from post_type: story_frame
*/
function get_excluded_parents() {
// Select all posts with post_type = story_frame
$childs = get_posts (
array (
\'post_type\' => \'story_frame\',
\'orderby\' => \'ID\',
\'order\' => \'ASC\',
\'numberposts\' => -1
)
);
$exclude = array();
foreach ( $childs as $child ) {
if ( 0 < $child->post_parent ) {
array_push( $exclude, $child->post_parent );
}
} // foreach $child
return $exclude;
} // get_excluded_parents()
希望有人能从中受益。