这是生成的代码here 我为定制做了一些非常小的调整。我遇到的问题是,我无法获取要选中的复选框的默认值。如果我手动添加checked="checked"
, 即使已保存为“已签出”,它也始终加载“已签出”。
我需要帮助定义默认值checked="checked"
除非已经检查过,否则应该保持这种状态。
/**
* Generated by the WordPress Meta Box generator
* at http://jeremyhixon.com/tool/wordpress-meta-box-generator/
*/
function display_sharing_buttons_get_meta( $value ) {
global $post;
$field = get_post_meta( $post->ID, $value, true );
if ( ! empty( $field ) ) {
return is_array( $field ) ? stripslashes_deep( $field ) :
stripslashes( wp_kses_decode_entities( $field ) );
} else {
return false;
}
}
function display_sharing_buttons_add_meta_box() {
add_meta_box(
\'display_sharing_buttons-display-sharing-buttons\',
__( \'Display UST Sharing Buttons\', \'display_sharing_buttons\' ),
\'display_sharing_buttons_html\',
\'post\',
\'side\',
\'default\'
);
add_meta_box(
\'display_sharing_buttons-display-sharing-buttons\',
__( \'Display UST Sharing Buttons\', \'display_sharing_buttons\' ),
\'display_sharing_buttons_html\',
\'page\',
\'side\',
\'default\'
);
}
add_action( \'add_meta_boxes\', \'display_sharing_buttons_add_meta_box\' );
function display_sharing_buttons_html( $post) {
wp_nonce_field( \'_display_sharing_buttons_nonce\', \'display_sharing_buttons_nonce\' ); ?>
<p>
<input type="checkbox" name="display_sharing_buttons_display" id="display_sharing_buttons_display" value="display" <?php
echo ( display_sharing_buttons_get_meta( \'display_sharing_buttons_display\' ) === \'display\' ) ? \'checked\' : \'\'; ?>>
<label for="display_sharing_buttons_display"><?php _e( \'Display\', \'display_sharing_buttons\' ); ?><img src="<?php
echo get_template_directory_uri() ?>/images/sharing-button-preview.png"></label>
</p>
<?php
}
function display_sharing_buttons_save( $post_id ) {
if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) return;
if ( ! isset( $_POST[\'display_sharing_buttons_nonce\'] ) ||
! wp_verify_nonce( $_POST[\'display_sharing_buttons_nonce\'], \'_display_sharing_buttons_nonce\' ) ) return;
if ( ! current_user_can( \'edit_post\', $post_id ) ) return;
if ( isset( $_POST[\'display_sharing_buttons_display\'] ) )
update_post_meta( $post_id, \'display_sharing_buttons_display\', esc_attr( $_POST[\'display_sharing_buttons_display\'] ) );
else
update_post_meta( $post_id, \'display_sharing_buttons_display\', null );
}
add_action( \'save_post\', \'display_sharing_buttons_save\' );
/*
Usage: display_sharing_buttons_get_meta( \'display_sharing_buttons_display\' )
*/
SO网友:Jeremy
我根据在您共享的代码中看到的内容重新生成了代码,该代码正在我的本地计算机上运行:
/**
* Generated by the WordPress Meta Box generator
* at http://jeremyhixon.com/tool/wordpress-meta-box-generator/
*/
function display_ust_sharing_buttons_get_meta( $value ) {
global $post;
$field = get_post_meta( $post->ID, $value, true );
if ( ! empty( $field ) ) {
return is_array( $field ) ? stripslashes_deep( $field ) : stripslashes( wp_kses_decode_entities( $field ) );
} else {
return false;
}
}
function display_ust_sharing_buttons_add_meta_box() {
add_meta_box(
\'display_ust_sharing_buttons-display-ust-sharing-buttons\',
__( \'Display UST Sharing Buttons\', \'display_ust_sharing_buttons\' ),
\'display_ust_sharing_buttons_html\',
\'post\',
\'side\',
\'default\'
);
add_meta_box(
\'display_ust_sharing_buttons-display-ust-sharing-buttons\',
__( \'Display UST Sharing Buttons\', \'display_ust_sharing_buttons\' ),
\'display_ust_sharing_buttons_html\',
\'page\',
\'side\',
\'default\'
);
}
add_action( \'add_meta_boxes\', \'display_ust_sharing_buttons_add_meta_box\' );
function display_ust_sharing_buttons_html( $post) {
wp_nonce_field( \'_display_ust_sharing_buttons_nonce\', \'display_ust_sharing_buttons_nonce\' ); ?>
<p>
<input type="checkbox" name="display_ust_sharing_buttons_display" id="display_ust_sharing_buttons_display" value="display" <?php echo ( display_ust_sharing_buttons_get_meta( \'display_ust_sharing_buttons_display\' ) === \'display\' ) ? \'checked\' : \'\'; ?>>
<label for="display_ust_sharing_buttons_display"><?php _e( \'Display\', \'display_ust_sharing_buttons\' ); ?> <img src="<?php
echo get_template_directory_uri() ?>/images/sharing-button-preview.png"></label> </p><?php
}
function display_ust_sharing_buttons_save( $post_id ) {
if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) return;
if ( ! isset( $_POST[\'display_ust_sharing_buttons_nonce\'] ) || ! wp_verify_nonce( $_POST[\'display_ust_sharing_buttons_nonce\'], \'_display_ust_sharing_buttons_nonce\' ) ) return;
if ( ! current_user_can( \'edit_post\', $post_id ) ) return;
if ( isset( $_POST[\'display_ust_sharing_buttons_display\'] ) )
update_post_meta( $post_id, \'display_ust_sharing_buttons_display\', esc_attr( $_POST[\'display_ust_sharing_buttons_display\'] ) );
else
update_post_meta( $post_id, \'display_ust_sharing_buttons_display\', null );
}
add_action( \'save_post\', \'display_ust_sharing_buttons_save\' );
/*
Usage: display_ust_sharing_buttons_get_meta( \'display_ust_sharing_buttons_display\' )
*/