我有这段代码:
// 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)";
}
但是当它运行时我得到这些错误:
Warning: array_map(): Argument #2 should be an array on line 1918
Warning: implode(): Invalid arguments passed on line 1918
它指的是这一行:$ post__in = implode(',',array_map('absint',$ q ['post__in']));
我怎样才能解决这个问题?
谢谢您的帮助 .
1 回答
有些东西正在查询WordPress的帖子和传递不正确的参数 . 具体来说,传入的
post__in
参数必须是整数值数组 . 现在,正在传递其他东西 .如果您最近编写了自定义代码(特别是
get_posts()
,WP_Query
等),请尝试撤消这些更改,直到它再次运行 . 否则,请尝试逐个停用插件和/或主题,直到它再次运行 .