未定义的索引:inc_social_context

时间:2018-08-14 21:53:15

标签: wordpress plugins undefined

我正在此wordpress插件设置页面上,在获取此未定义索引:inc_social_context

时,我已将调试模式设置为true。

我不知道自己做错了什么,这是我的代码:

public function kankozfgp_post_type_display_html ( $content ){
$kankozfgp_options_global = get_option( 'kankozfgp_option_name' );
$kankozfgp_inc_social_context = esc_attr( $kankozfgp_options_global['inc_social_context'] );

if ( isset( $kankozfgp_inc_social_context ) && !empty( $kankozfgp_inc_social_context ) ) {
            $kankozfgp_inc_social_context = "true";
        } else{
            $kankozfgp_inc_social_context = "false";
        }
}

这是回调函数

public function kankozfgp_inc_social_context_cb( $args ) {      
    $kankozfgp_options_global = get_option( 'kankozfgp_option_name' );
    ?>

    <input type="checkbox" id="<?php echo esc_attr( $args['label_for'] ); ?>" 
    data-custom="<?php echo esc_attr( $args['kankozfgp_custom_data'] ); ?>"
    name="kankozfgp_option_name[<?php echo esc_attr( $args['label_for'] ); ?>]"

    value="1"<?php echo isset( $kankozfgp_options_global[ $args['label_for'] ] ) ? ( checked('1', $kankozfgp_options_global[ $args['label_for'] ] ) ) : ( '' );

 ?>>
</input>

    <?php
}

谢谢。

1 个答案:

答案 0 :(得分:0)

这是违规行:

$kankozfgp_inc_social_context = esc_attr( $kankozfgp_options_global['inc_social_context'] );

您正在尝试将索引值分配给不存在的变量。

稍后在代码中检查值是否存在:

if ( isset( $kankozfgp_inc_social_context ) && !empty( $kankozfgp_inc_social_context ) ) {
            $kankozfgp_inc_social_context = "true";
        } else{
            $kankozfgp_inc_social_context = "false";
        }
}

但是为时已晚,在分配它之前需要检查。

这就是我要做的:

$kankozfgp_inc_social_context = isset( $kankozfgp_options_global['inc_social_context'] ) ? true : false;