如何根据类别名称从wordpress数据库中选择所有帖子?

thtygnil  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(343)

首先,我知道这个问题以前被问过很多次,我在这个网站和谷歌上发现了不少。
示例:wordpress如何将文章链接到其数据库中的类别?
然而,我真的不明白如何从wordpress数据库中找到所有基于分类名称的帖子。
示例:我有一个类别名 'restaurants' .
我在这一类有一些帖子。
对此的正确查询是什么?
另外,在上面的链接中,我注意到提供的答案提到wordpress数据库可能会更改,那么使用什么查询来确保这些更改不会破坏我的代码呢?
提前谢谢。
编辑:
这里有一个例子,我尝试了,但不起作用。

<?php 

require_once(ABSPATH . 'wp-config.php');
$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
mysqli_select_db($connection, DB_NAME);

$custom_query = new WP_Query('cat=9'); //your category id 
while($custom_query->have_posts()) : $custom_query->the_post(); ?>

    //loop items go here

<?php endwhile; ?>
<?php wp_reset_postdata(); // reset the query ?>

编辑2:
我试过这个代码,但什么都没用。只是一个空白页:

<?php

require_once('../wp-config.php');
$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
mysqli_select_db($connection, DB_NAME);

$args=array(
'post_type' => 'post',
'post_status' => 'publish',
'category_name' => 'restaurants');

$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
    echo '<div class="Entradas">'.get_the_title().'</div>';
endwhile;
}
wp_reset_query();

?>
x8goxv8g

x8goxv8g1#

这很管用:

$myposts = get_posts(array(
  'showposts' => -1, //add -1 if you want to show all posts
  'post_type' => 'offer',
  'tax_query' => array(
              array(
                    'taxonomy' => 'offer_cat',
                    'field' => 'slug',
                    'terms' => 'restaurants' //pass your term name here
                      )
                    ))
                   );

    foreach ($myposts as $mypost) {
    // echo $mypost->post_title . '<br/>';
    // echo $mypost->post_content . '<br/>';
    // echo  $mypost->ID . '<br/><br/>';
    echo '<li class="faq"> <p class="title"><a href="' . get_permalink($mypost) . '">' . $mypost->post_title . '</a></p></li>';}

我希望它能帮助别人。

相关问题