在查找某个post_type

时间:2016-04-13 21:34:03

标签: php wordpress

我目前有相同的args来寻找某个帖子:

$page = 0;

$args = array(
    "posts_per_page" => 10,
    "offset" => $page * 10,
    "post_type" => "graven",
    "post_status" => "publish"
);

$posts = get_posts($args);
var_dump($posts);

这样可以正确地返回此类型的10个帖子,按日期排序。现在,有另一个自定义帖子类型(使用Pods框架,pods.io制作),除了这个名称之外,其他名称应该完全相同。我在查询中应该使用的唯一区别是将post_type更改为begraafplaats并将post_status设置为draft,但这会导致返回一个空数组。我知道其中一个帖子的ID,所以使用get_post(<the id>)我查询了帖子,得到了我预期的结果。

这给了我以下输出:

WP_Post Object
(
    [ID] => 3935
    [post_author] => 1
    [post_date] => 2015-08-21 04:25:16
    [post_date_gmt] => 0000-00-00 00:00:00
    [post_content] => 
    [post_title] => R.K. Begraafplaats St. Theresiakerk (Eindhoven)
    [post_excerpt] => 
    [post_status] => draft
    [comment_status] => closed
    [ping_status] => closed
    [post_password] => 
    [post_name] => 
    [to_ping] => 
    [pinged] => 
    [post_modified] => 2015-08-21 04:25:16
    [post_modified_gmt] => 2015-08-21 04:25:16
    [post_content_filtered] => 
    [post_parent] => 0
    [guid] => http://example.com/?post_type=begraafplaats&p=3935
    [menu_order] => 0
    [post_type] => begraafplaats
    [post_mime_type] => 
    [comment_count] => 0
    [filter] => raw
)

正如您所看到的,返回的post_type与我在$args数组中使用的相同,并且post类型是draft,正如预期的那样。然而,它似乎没有给我任何结果。

对于为什么这不起作用会有合理的解释吗?

2 个答案:

答案 0 :(得分:-2)

  

您可以获得特定帖子类型的所有帖子,如下所示

 #include <iostream>
 #include <iomanip>
 #include <cctype>
 #include <string>
 using namespace std;

 int main ()
 {
      string word;
      string temp = " ";
      string letters;
      int i, len;
      while(getline(cin,letters))
      {
           len = letters.size();
           for(i = 0; (i < len) && isspace(letters[i]); i++)
                 ;
           if(i >= len)
               cout << "Empty line is entered" << endl;
           else
           {
               string out_string = letters.substr(i);
               out_string.replace(0, 1, 1, std::toupper(out_string[0]));
               for(i = 1; i < len; i++)
                   out_string.replace(i, 1, 1,    std::tolower(out_string[i]));
               cout << out_string << endl;
           }
      }
  }

答案 1 :(得分:-2)

我已设法使用$wpdb使用裸MySQL查询来解决此问题。它不是一个优雅的解决方案,但是,我确实拥有我现在需要的所有信息。