我创建了一个带有选择输入(下拉菜单)的元框。它有几个值,我想根据用户选择的值显示不同的内容。我只是不确定如何用post meta select框显示此条件内容。
<label for="item_one">Item One Select:</label>
<select name="item_one" id="item_one">
<option value="option1" <?php selected( $item_one_selected, \'option1\' ); ?>>Something 1</option>
<option value="option2" <?php selected( $item_one_selected, \'option2\' ); ?>>Something 2</option>
<option value="option3" <?php selected( $item_one_selected, \'option3\' ); ?>>Something 3</option>
</select>
我是否可以执行类似于复选框的操作,如:
<?php if (get_post_meta($post->ID, \'metavaluehere\', true)) { ?>
//do something
<? } else { ?>
//do something else
<? } else { ?>
//do something else
<?php } ?>
我只是不确定使用metabox select输入来形成此条件语句的正确方式。
用通俗易懂的英语,我想用最上面的例子:
如果选择了选项1,则执行此操作;如果选择了选项2,则执行此操作;如果选择了选项3,则执行此操作。。。
任何帮助都将不胜感激!
此处为完整代码:
<?php
add_action( \'add_meta_boxes\', \'post_options_box\' );
function post_options_box()
{
add_meta_box( \'post-options-box\', \'Post Options\', \'post_options_callback\', \'post\', \'normal\', \'high\' );
}
function post_options_callback( $post ){
$options_values = get_post_custom( $post->ID );
$item_one_selected = isset( $options_values[\'item_one\'] ) ? esc_attr( $options_values[\'item_one\'][0] ) : \'\';
wp_nonce_field( \'my_post_options_meta_nonce\', \'post_options_meta_nonce\' );
?>
<p>
<label for="item_one">Item One Select:</label>
<select name="item_one" id="item_one">
<option value="option1" <?php selected( $item_one_selected, \'option1\' ); ?>>Something 1</option>
<option value="option2" <?php selected( $item_one_selected, \'option2\' ); ?>>Something 2</option>
<option value="option3" <?php selected( $item_one_selected, \'option3\' ); ?>>Something 3</option>
</select>
</p>
<?php
}
add_action( \'save_post\', \'post_options_save\' );
function post_options_save ( $post_id )
{
if( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) return;
if( !isset( $_POST[\'price_meta_nonce\'] ) || !wp_verify_nonce( $_POST[\'price_meta_nonce\'], \'my_price_meta_nonce\' ) ) return;
if( !current_user_can( \'edit_post\' ) ) return;
if( isset( $_POST[\'item_one\'] ) )
update_post_meta( $post_id, \'item_one\', esc_attr( $_POST[\'item_one\'] ) );
}
?>