我有这段代码:
// If a post number is specified, load that post
if ( $q['p'] ) {
$where .= " AND {$wpdb->posts}.ID = " . $q['p'];
} elseif ( $q['post__in'] ) {
$post__in = implode(',', array_map( 'absint', $q['post__in'] ));
$where .= " AND {$wpdb->posts}.ID IN ($post__in)";
} elseif ( $q['post__not_in'] ) {
$post__not_in = implode(',', array_map( 'absint', $q['post__not_in'] ));
$where .= " AND {$wpdb->posts}.ID NOT IN ($post__not_in)";
}
但是当它运行时我会收到这些错误:
警告:array_map():参数#2应该是第1918行的数组
警告:implode():第1918行传递的参数无效
这是指这一行: $ post__in = implode(',',array_map('absint',$ q ['post__in']));
我该如何解决这个问题?
感谢您的帮助。
答案 0 :(得分:0)
有些东西正在查询WordPress的帖子并传入不正确的参数。具体来说,传入的post__in
参数需要是一个整数值数组。现在,正在传递其他东西。
如果您最近编写了自定义代码(特别是get_posts()
,WP_Query
等),请尝试撤消这些更改,直到它再次运行。否则,请尝试逐个停用插件和/或主题,直到它再次运行。