$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好像有问题
因为我对 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好像有问题