未设置字段上的未定义通知

时间:2015-06-08 作者:esteemed.squire

仍在努力解决Wordpress插件开发问题,如何解决这个未定义的错误?当我添加一个新帖子时会出现这种情况,因为它找不到该帖子,所以我试图找出如何使用isset解决它。

Notice: Undefined index: kk_youtube in /var/www/html/wordpress/wp-content/plugins/video_widget/video_widget.php on line 33

错误在第33行:

$youtube_link = esc_attr($value[\'kk_youtube\'][0]);
我一直想把它包起来isset($post) 但它仍然不起作用。

这是整个函数调用。

function kk_youtube_handler($post) {
    $value = get_post_custom($post->ID);

    $youtube_link = esc_attr($value[\'kk_youtube\'][0]);

    echo \'<label for="kk_youtube">YouTube Video Link</label>
          <input type="text" id="kk_youtube" name="kk_youtube" value="\' . 
          $youtube_link . \'" />\';
}
我能得到一些帮助吗?

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

错误是您试图读取$value[\'kk_youtube\'] 当没有kk_youtube 输入数组(未定义索引)。而不是使用isset, 使用get_post_meta 第三个参数“single”为true时:

$youtube_link = esc_attr( get_post_meta( $post->ID, \'kk_youtube\', true ) );
这实际上与执行以下操作相同:

$value = get_post_custom( $post->ID );
if ( isset( $value[\'kk_youtube\'][0] ) )
     $youtube_link = esc_attr( $value[\'kk_youtube\'][0] );
else
     $youtube_link = \'\';

结束

相关推荐