首页 文章

'class-wp-query.php'文件中的代码问题

提问于
浏览
0

我有这段代码:

// 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 回答

  • 0

    有些东西正在查询WordPress的帖子和传递不正确的参数 . 具体来说,传入的 post__in 参数必须是整数值数组 . 现在,正在传递其他东西 .

    如果您最近编写了自定义代码(特别是 get_posts()WP_Query 等),请尝试撤消这些更改,直到它再次运行 . 否则,请尝试逐个停用插件和/或主题,直到它再次运行 .

相关问题