这里有一种方法可以检查get_posts()
:
global $EZSQL_ERROR;
$before = isset( $EZSQL_ERROR ) ? count( $EZSQL_ERROR ) : 0;
$posts = get_posts( $args );
$after = isset( $EZSQL_ERROR ) ? count( $EZSQL_ERROR ) : 0;
if ( empty( $posts ) && $before < $after ) {
// ... DB error(s) within get_posts() when it returns an empty array.
}
这里我们检查
wpdb
之前和之后的错误
get_posts()
来自全球的呼叫
$EZSQL_ERROR
错误收集器(
src).
但我可以想象,在某些情况下,这可能会给出误报,例如,如果我们在get_posts()
这可能不是空posts数组的原因。
更新。我测试了一下,发现$wpdb->last_error
在每次$wpdb
呼叫我注意到全球$EZSQL_ERROR
大堆within wpdb::print_error()
不会恢复,但会收集错误。因此,我更新了答案并替换了$wpdb->last_error
具有$EZSQL_ERROR
.