我的服务器错误日志显示以下错误:
div[id^='body_']
这是一个自行编写的WordPress插件,可让访问者在前端搜索WordPress用户。受影响的代码如下,有问题的第35行是以“$ form =”开头的那个。
[03-Feb-2016 09:04:11 UTC] PHP Warning: Illegal string offset 'results-page' in /home/myaccount/public_html/wp-content/plugins/simple-author-search/simple-author-search.php on line 35
您能否帮我理解文本结果页面导致此错误的原因?
感谢您的时间。
答案 0 :(得分:1)
非法字符串偏移意味着,您希望使用非法密钥访问字符串的偏移量。因为字符串永远不会是字符串的合法偏移量,所以这会以警告结束。
在您的情况下,您必须确保results-page
是一个数组且密钥function showForm($atts = array()) {
if (!is_array($atts) || !isset($atts['results-page'])) {
// invalid argument - do some error handling
return '';
}
$keywords = filter_input(INPUT_GET, 'sas-keywords');
$form = '<form action="' . get_permalink($atts['results-page']) . '"name="sas-form" class="sas-form form-inline pull-xs-right"><input type="hidden" name="sas-search" value="1"><input type="text" class="form-control" name="sas-keywords" value="' . htmlentities($keywords) . '"/>' . ' <input type="submit" value="Search" class="btn btn-secondary" /></form>';
return $form;
}
存在。
{{1}}