$queryResult = new WP_Query( $args ) 未知错误

$queryResult = new WP_Query( $args ) unknown error

因为我对 php 完全陌生,所以我在使用一个自定义函数时遇到了困难,问题在行 $queryResult = new WP_Query( $args );因为当我用其余功能将其注释掉时,一切正常。但是当它在那里时,页面不会显示任何预订结果,这很奇怪

所以功能在这里

function getListOfUsersOnLesson($lesson_id) {

    $result = '... nikto nie je prihlásený';

    $args = array (
            'post_type' => 'rsg_reservations',
            'pagination' => false,
            'posts_per_page' => '-1',
            'meta_key' => '_rsg_reservation_lesson_id',
            'meta_value' => $lesson_id,
    );

    $query = new WP_Query( $args );
    if ( $query->have_posts() ) {
        $result = '';
        while ( $query->have_posts() ) {
            $query->the_post();

            $user_id = get_post_meta( get_the_ID(), '_rsg_reservation_user_id', true );
            $user_info = get_userdata($user_id);
            $user_email = $user_info->user_email;
            $username = get_user_meta( $user_id, 'first_name', true ).' '.get_user_meta( $user_id, 'last_name', true );

            $erroclass = '';
            if(reservationIsValid($lesson_id, $user_id)) $erroclass = '';
            else $erroclass = 'erroruser';

            $result.= '<div class="row">';
            $result.= '<div class="col-md-4 '.$erroclass.'">'.$username.'</div>';
            $result.= '<div class="col-md-6 '.$erroclass.'">'.$user_email.'</div>';
            $result.= '<div class="col-md-2"></div>';
            $result.= '</div>';
        }
    }
    wp_reset_postdata();

    return $result;

}

未注释掉时

注释掉时,期望的状态

整个代码由单独的 php 文件中的另一个方法调用

$lesson_user_list = '';
            if(is_super_admin()) {
                $lesson_user_list = getListOfUsersOnLesson($lesson_id);
            }

您执行了一个新的 WP_Query 并将其加载到 $queryResult,但随后不使用它(您的代码使用 $query,未定义/不包含任何东西)。

按如下方式更改您的代码:

// You are loading results into $queryResult here
$queryResult = new WP_Query( $args );
// below switched FROM $query->have_posts() TO $queryResult->have_posts()
if ( $queryResult->have_posts() ) {
    $result = '';
    // switch to $queryResult->have_posts()
    while ( $queryResult->have_posts() ) {
        // switch to $queryResult->the_post()
        $queryResult->the_post();
        // ... the rest of your code ...
    }
}

您可能会弄乱查询变量( $queryResult 和 $query )

if ( $queryResult->have_posts() ) {
        $result = '';
        while ( $queryResult->have_posts() ) {
            $queryResult->the_post();

已解决,那个错误class的puece好像有问题