我创建了自定义帖子类型tickets
, 我在里面加了几张票。但使用以下代码,我试图显示当前用户提交的票证列表,但它对我无效。
global $post, $paged, $current_user;
get_currentuserinfo();
if(empty($paged)) $paged = 1;
$args = array(
\'post_type\' => \'tickets\',
\'post_author\' => $current_user->ID,
\'paged\'=> $paged
);
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post);
echo "test echo"; // testing purpose
echo "<tr><td>".the_title()."</td><td>".the_excerpt()."</td><td>".$post->post_status."</td></tr>";
endforeach;
wp_reset_postdata();
并在表中显示空结果。类似的问题我不确定。但这是我的密码。所以,如果你认为这不是一个正确的问题,请不要投反对票。我需要解决我的问题,我一个多小时都在头痛。
谢谢你的评论,实际上我自己也找到了解决办法。有时,我们可能不会认为一件小事会导致某些意想不到的结果。问题很简单。当前用户几乎没有挂起的票证。重要的是,如果我们不指定post_status
. 它将指定默认值publish
. 所以它没有得到结果。
SO网友:Kvvaradha
截至“cybmeta word”,我在这里回答了我的问题。
谢谢你的努力。将来,如果有人来看这篇文章,请记住,默认参数也会影响您的结果。所以我最后的工作代码是它。
global $post, $paged, $current_user;
get_currentuserinfo();
if(empty($paged)) $paged = 1;
$args = array(
\'post_type\' => \'tickets\',
\'post_author\' => $current_user->ID,
\'post_status\' => \'any\',
\'paged\'=> $paged
);
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post);
echo "test echo"; // testing purpose
echo "<tr><td>".the_title()."</td><td>".the_excerpt()."</td><td>".$post->post_status."</td></tr>";
endforeach;
wp_reset_postdata();