我正在从事一个项目,该项目具有基于此的“featured\\u posts”功能discussion. 我创建了一个表,其中列出了所有帖子。我在每一行中都有一个复选框,单击该复选框可以通过javascript提交for。选中该框后,它会更新所有内容并将帖子标记为特色。作为测试,我禁用了所有特色帖子。取消选中最后一个复选框后,我得到
警告:提供的参数无效
警告我的代码是
foreach( $_POST[\'list_id\'] as $listID ) {
if( update_post_meta( $listID, \'_property_featured\', \'true\' ) ) {
$featureMessage = "Selected listings have been marked as featured successfully.";
}
else $featureError = "An error occurred. Please try again.";
}
list\\u id指的是post\\u id,位于checkbox的value属性中。我知道当最后一个复选框被取消选中时,我不得不面对这个警告。问题是我如何跟踪复选框的取消选中,因为它不包括在表单的POST数据中。
SO网友:soulseekah
这似乎是一个一般的PHP警告,您在foreach
环
$_POST[\'list_id\']
应为数组或任何其他(可迭代对象),如果未选中复选框,则我假定$_POST[\'list_id\']
完全未定义。
$_POST[\'list_id\'] = isset( $_POST[\'list_id\'] ) ? (array) $_POST[\'list_id\'] : array();
在迭代所有内容之前添加此选项将有助于完全消除警告。