我的主题包含两种自定义帖子类型,即传记和地点。在Places帖子类型中,我有一个包含HTML select元素的元框。在这个选择元素中,我想要一个所有传记类型标题的列表。
我以为我可以在add_meta_box()$ callback参数函数中执行WP_Query来填充列表,但这似乎不起作用。我该怎么做呢?
感谢。
答案 0 :(得分:0)
将其用作case
case 'post_list':
$post_types = $field['post_type'];
$wp_cats = array();
echo '<select name="'.$field['id'].'" id="'.$field['id'].'">
<option value="">Chosse A Page</option>'; // Select One
foreach ( $post_types as $post_type ) {
$pages = get_pages( array( 'post_type'=>$post_type, 'posts_per_page'=>-1, 'post_status'=>'publish', 'depth'=> 0 ) );
$obj = get_post_type_object( $post_type );
// output custom post type archive with link
foreach ( $pages as $page ) {
$wp_cats[$page->ID] = $page->post_title;
// output posts with link
if ( $post_type !== 'page' ){
$title = $page->post_name;
$url = home_url().'/'.$post_type.'/#'. str_replace('-', '', $title);
echo '<option value="'.$url.'" ';
if ($meta == $url) { echo 'selected="selected"'; }
echo '> - '. $page->post_title .'</option>';
}else{
echo '<option value="' . get_permalink($page->ID).'" ';
if ($meta == get_permalink($page->ID)) { echo 'selected="selected"'; }
echo '> - '. $page->post_title .'</option>';}
}
}
echo '</select><br /><span class="description">'.$field['desc'].'</span><br /><br /><strong style="color:#00bbe2; text-transform:uppercase;">Or</strong>';
break;