0

我想实现一个函数来获取 wordpress 中的某些帖子。

输入

页数

分类名称

多变的

items_per_page = 10

输出

帖子数组,类似于 query_posts() 函数的结果。

这是我的代码:

$page_number = $_GET["page_number"]
$category_name = $_GET["category_name"]

function app_get_posts($page_number, $category,$items_per_page = 10)
{
    global $wpdb;  
    $select ="SELECT POSTS FROM wp_posts  WHERE CATEGORY = ".$category." LIMIT (".$page_number." - 1) * ".$items_per_page.",".$page_number."  * ".$items_per_page; //it didn't work.
    return $wpdb->query($select); 
}

当我调用函数 app_get_posts('2','tech') 时,它将返回“技术”类别中的第 10~19 个帖子,当我调用 app_get_posts('3','wordpress') 时,它将返回第 20 个〜“wordpress”类别中的第 29 个帖子。

所以我想知道是否有办法解决这个问题。提前谢谢。

4

1 回答 1

0

我猜上述不起作用的原因是因为wp_posts表没有CATEGORYorPOSTS字段。我修改了您的代码,以便您可以根据以下内容返回帖子taxonomy

function app_get_posts($page_number, $category,$items_per_page = 10)
{
   global $wpdb;  
   $start = ($page_number-1) * $items_per_page;
   $select ="SELECT DISTINCT wp.* FROM wp_posts wp  
             INNER JOIN wp_term_relationships rs ON rs.object_id = wp.ID 
             INNER JOIN wp_terms t ON t.term_id = rs.term_taxonomy_id 
             WHERE t.name = ".$category." LIMIT ".$start.",".$items_per_page;
   return $wpdb->query($select); 
 }
于 2011-12-11T17:22:14.620 回答