如何查询WordPress数据库以获取特定定制帖子类型、分类和字段的帖子?

时间:2015-05-07 作者:Mark

我有一个名为store 我有一个自定义分类法city, 我还有一个元框,其中有一个字段update_post_meta( $post_id, \'store_postal_code\', $postal_code ); 它还为store_parking.

我如何以这样的方式查询数据库,它会在这种情况下返回我的行:

ID    post_title    store_postal_code    city         store_parking
1     Hilton        1234AB               Amsterdam    YES
2     Bijenkorf     1234AB               Rotterdam    NO
我尝试了这个不完整的查询:

$sql = \'SELECT * FROM `\' . $wpdb->prefix . \'posts` WHERE `post_type` = \\\'store\\\' AND `post_status` = \\\'publish\\\'\';
foreach( $wpdb->get_results( $sql ) as $row => $post ) {}

2 个回复
最合适的回答,由SO网友:nyan 整理而成

我将使用如下自定义查询:

$amsterdamstore_args = array(
  \'post_type\' => \'store\',    // This is your custom post type
  \'tax_query\' => array(
    array(
      \'taxonomy\' => \'city\',    // This is your custom taxonomy
      \'terms\' => \'Amsterdam\',    // The term you search for
      \'field\' => \'name\',    // Check against the term\'s name (you might use \'slug\', too)
    )
  ),
  \'meta_query\' => array(
      \'relation\' => \'AND\',    // you could use OR, too - depending on what you want
      array(
          \'key\' => \'store_postal_code\',    // Here goes your post_meta field\'s key
          \'value\' => \'1234AB\',    // Here goes your post_meta field\'s value
          \'compare\' => \'=\',
      ),
      array(
          \'key\' => \'store_parking\',    // Here goes your post_meta field\'s key
          \'value\' => \'SOME_VALUE\',    // Here goes your post_meta field\'s value
          \'compare\' => \'=\',
      ),
  )
);
这些就是你需要的论点WP_Query 或者-如果这对你更有用-get_posts. - 循环查看结果,按正常方式获取\\u post\\u meta,然后就可以了。

顺便说一句:你可以根据自己的喜好组合meta_查询数组:添加一些,留下一些,你甚至可以嵌套得更深,做一些像and(A或B)(C或D)。。。

SO网友:jdm2112

这里需要一个自定义查询和循环,至少我是这样做的。

$args = array(
  \'post_type\' =>\'store\',
  \'taxonomy\' => \'city\',
  \'term\' => \'your list here\'
  \'posts_per_page\' => 5
  );

$loop = new WP_Query($args);
if($loop->have_posts()):
  while($loop->have_posts()):
    do stuff here
  endwhile;
endif;
您可能希望对这些进行排序,以便将键/值对添加到orderorderby.

WP Codex是这些类型问题的绝佳参考。WP\\U查询类是您的重点:https://codex.wordpress.org/Class_Reference/WP_Query

特别是post类型参数:https://codex.wordpress.org/Class_Reference/WP_Query#Post_.26_Page_Parameters

结束

相关推荐

Add jQuery to WordPress page

我需要将jQuery库添加到WordPress页面。该页面由插件短代码呈现。我已经使用了以下方法,但我认为它对我的jQuery脚本不起作用。我试图在插件名称和版本所在的主插件文件中添加以下脚本。设计不起作用:function my_init() { if (!is_admin()) { wp_enqueue_script(\'jquery\'); } } add_action(\'init\', \'my_init\');