自定义帖子类型查询帖子不工作

时间:2015-11-20 作者:Kvvaradha

我创建了自定义帖子类型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. 所以它没有得到结果。

2 个回复
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();

SO网友:Mr Rethman

很难说没有看到代码。但我会试试看。1)如果您在db中没有看到您发布的自定义帖子类型帖子的任何结果,您是否在WP Admin中看到它们?2)仔细检查您的实现,您如何定义$paged变量,应该是get\\u query\\u var(\'paged\')?get\\u query\\u var(\'paged\'):1;3)您不应该需要这些全局变量中的任何一个。4)如何设置用于author参数的$current变量?

更多的细节会更容易提供帮助。

相关推荐