编辑发布自定义选项不起作用

时间:2016-07-20 作者:J. Doe

我添加了一个自定义贴子页面选项,但它不起作用;输出总是空的。

我的循环中有此调试代码(the code that retrieves the information in frontend):

$colorvalue = get_post_meta( get_the_ID(), \'slider_is_dark\', 1 );

echo \'<script>alert("\' . $colorvalue . \'");</script>\';
那么我的函数中就有这个。php:

add_action( \'add_meta_boxes\', \'slider_checkboxes\' );
function slider_checkboxes() {
    add_meta_box(
        \'slider\',
        \'Slider\',
        \'slider_box_content\',
        \'post\',
        \'normal\',
        \'default\'
    );
}

function slider_box_content( $post_id ) {
    wp_nonce_field( plugin_basename( __FILE__ ), \'slider_nonce\' );

    echo \'<input type="checkbox" name="slider_is_dark" value="1" /> Slider is dark\';
}

add_action( \'save_post\', \'slider_data\' );
function slider_data() {
    if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE )
        return;

    if ( !wp_verify_nonce( $_POST[\'slider_nonce\'], plugin_basename( __FILE__ ) ) )
        return;

    if ( isset( $_POST[\'slider_is_dark\'] ) )
        update_post_meta( $post_id, \'slider_is_dark\', 1 );
    else
        update_post_meta( $post_id, \'slider_is_dark\', 0 );
}
警报始终返回空。我的代码有问题吗?还是我做错了?

1 个回复
最合适的回答,由SO网友:C C 整理而成

你需要$post_id 传递给从钩子调用的函数。试着这样做函数声明:

function slider_data( $post_id )