也许,你还不清楚这个问题,但我会尽力解释。
有两种注册的自定义帖子类型,歌和相册。
我在Create 相册上有一个metabox,其中我可以从歌曲列表中选择一个帖子。我将向您展示放置在不同函数中的代码中的一些部分:
// SELECTED
$values = get_post_custom( $post->id );
$selected = isset( $values['select_song_album'] ) ? esc_attr( $values['select_song_album'][0] ) : '';
// SELECT - OPTION
Non-album
'album', 'orderby' => 'title', 'order' => 'asc', );
$song_album_select = new WP_Query( $song_album );
while ( $song_album_select->have_posts() ) : $song_album_select->the_post();
?> >
// SAVE DATA
if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' ) ) return;
if( !current_user_can( 'edit_post', $post_id ) ) return;
if( isset( $_POST['select_song_album'] ) )
update_post_meta( $post_id, 'select_song_album', esc_attr( $_POST['select_song_album'] ) );因此,在Album模板上,我希望显示在编辑/添加它们的页面上选择的所有歌曲。我尝试了这段代码,但它显示了我发布的文章类型中的所有歌曲:
-1,
'post_type' => 'album',
'post_status'=> 'publish',
'orderby' => 'title',
'order'=> 'ASC'
)
);
if ( $albums->have_posts() ) :
while ( $albums->have_posts() ) :
$albums->the_post();
endwhile;
endif;
wp_reset_query();
?>
-1,
'post_type' => 'song',
'meta_key' => 'select_song_album',
'meta_value' => $albumID,
'orderby' => 'title',
'order'=> 'ASC'
)
);
?>
have_posts() ) : while ( $songs->have_posts() ) : $songs->the_post();
?>你能告诉我如何展示专辑中的歌曲吗?谢谢你的回答。
更新:更改SELECT选项的代码
// SELECT - OPTION
Non-album
'album', 'orderby' => 'title', 'order' => 'asc', );
$song_album_select = new WP_Query( $song_album );
while ( $song_album_select->have_posts() ) : $song_album_select->the_post();
?> >发布于 2019-11-12 18:48:18
通过稍微更改显示posts的代码已经解决了这个问题。
'song', 'numberposts' => -1, 'meta_key' => 'select_song_album', 'meta_value' => get_the_ID(),) );
foreach( $albumsongs as $post ){
setup_postdata($post);
?>
Viewhttps://wordpress.stackexchange.com/questions/352340
复制相似问题