我正在开发WordPress插件,但最后的更改导致插件停止工作。它告诉我无法激活插件,因为它导致了致命错误。在localhost上,一切正常,但在发送到服务器后,激活时会显示以下内容:
无法在/data/web/virtuals/72282/virtual/www/wp-content/plugins/wp-songbook/inc/wpsongs-shorts中的写入上下文中使用函数返回值。php在线83
我真的不理解这条消息的上下文,因为这行代码是:
$ytlink=(isset(get_post_meta(get_the_ID(),\'songbook_video_link\')))?get_post_meta(get_the_ID(),\'songbook_video_link\'):false;
有人能告诉我发生了什么事吗?
最合适的回答,由SO网友:Dave Romsey 整理而成
问题的根源在于isset
期望向其传递一个变量。另外,我假设你期望get_post_meta()
为了返回标量值而不是数组,我将第三个参数集添加为true。
// 3rd param: $single. Value of true means get scalar value, not an array.
$ytlink = get_post_meta( get_the_ID(), \'songbook_video_link\', true );
// Will ensure that $ytlink is boolean false, and not an empty string.
$ytlink = ( ! empty( $ytlink ) ) ? $ytlink : false;