首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >显示从metabox中的字段中选择的WP自定义Post类型

显示从metabox中的字段中选择的WP自定义Post类型
EN

WordPress Development用户
提问于 2019-11-11 18:16:29
回答 1查看 43关注 0票数 0

也许,你还不清楚这个问题,但我会尽力解释。

有两种注册的自定义帖子类型,相册

我在Create 相册上有一个metabox,其中我可以从歌曲列表中选择一个帖子。我将向您展示放置在不同函数中的代码中的一些部分:

代码语言:javascript
运行
复制
// 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模板上,我希望显示在编辑/添加它们的页面上选择的所有歌曲。我尝试了这段代码,但它显示了我发布的文章类型中的所有歌曲:

代码语言:javascript
运行
复制
 -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选项的代码

代码语言:javascript
运行
复制
// 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();
?>  >
EN

回答 1

WordPress Development用户

回答已采纳

发布于 2019-11-12 18:48:18

通过稍微更改显示posts的代码已经解决了这个问题。

代码语言:javascript
运行
复制
 'song', 'numberposts' => -1, 'meta_key' => 'select_song_album', 'meta_value' => get_the_ID(),) );

foreach( $albumsongs as $post ){
setup_postdata($post);
?>

 View
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/352340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档