我在帖子类型中创建了元数据:
<p>
<label for="movies_notifications_meta_caption"><?php _e( 'last', 'movies_notifications_caption' ); ?></label><br>
<select name="movies_notifications_meta_caption" id="movies_notifications_meta_caption" value="<?php echo get_post_meta($post->ID,'movies_notifications_meta_caption',true ); ?>">
<option value="360p" <?php selected( $selected, '360p' ); ?>>360p</option>
<option value="480p" <?php selected( $selected, '480p' ); ?>>480p</option>
</select>
</p>
这是我的更新代码:
if( isset( $_POST['movies_notifications_meta_caption'] ) )
update_post_meta( $post_id, 'movies_notifications_meta_caption',
esc_attr( $_POST['movies_notifications_meta_caption'] ) );
它运作良好,我可以从选择菜单中选择并显示我想要的位置。但是我们有一个问题,当我选择第二选择并更新帖子时,实际上它可以工作,在我的页面中它会改变。但是在我的 wordpress 信息中心和我的帖子类型编辑页面中,它始终是第一选择,如果我忘记更改它,并更新帖子,它也将在我的网站中更改。谢谢你的帮助。
答案 0 :(得分:0)
我没有看到$ selected变量的定义代码。如果要添加它,它应该没有问题:
<?php
$selected=get_post_meta($post->ID,'movies_notifications_meta_caption',true );
?>
<p>
<label for="movies_notifications_meta_caption"><?php _e( 'last', 'movies_notifications_caption' ); ?></label><br>
<select name="movies_notifications_meta_caption" id="movies_notifications_meta_caption">
<option value="360p" <?php selected( $selected, '360p' ); ?>>360p</option>
<option value="480p" <?php selected( $selected, '480p' ); ?>>480p</option>
</select>
</p>