仍在努力解决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 . \'" />\';
}
我能得到一些帮助吗?
最合适的回答,由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 = \'\';