【问题标题】:Wordpress wp query for custom post type category用于自定义帖子类型类别的 Wordpress wp 查询
【发布时间】:2018-09-22 13:51:03
【问题描述】:

我正在 WordPress 中进行分页,分页适用于所有帖子,但我需要基于类别的帖子

现在我正在使用此查询来获取所有帖子

$per_page = 8;
$start = $page * $per_page;
$page = sanitize_text_field($_POST['page']);

$wpdb->get_results($wpdb->prepare("
        SELECT * FROM " . $table_name . " WHERE post_type = 'articles' AND post_status = 'publish' ORDER BY post_date DESC LIMIT %d, %d", $start, $per_page ));

谁能告诉我如何根据类别显示帖子,我正在使用自定义帖子类型('articles')。

谢谢

【问题讨论】:

标签: php wordpress


【解决方案1】:

我已经尝试过这个对我有用的东西。你可以帮助这个代码。

在这里,您必须join 一些表格才能获得基于类别的帖子。为此,我在查询中使用了join。您正在使用ajax,您将在POST 中获得category_name,并将其分配给相关表。

更新:

$per_page = 8;
$start = $page * $per_page;
$page = sanitize_text_field($_POST['page']);

$category_name = $_POST['category_name'];

$wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->posts   
LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id)
LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
LEFT JOIN $wpdb->terms ON($wpdb->term_taxonomy.term_id = $wpdb->terms.term_id)
WHERE $wpdb->terms.name = ''
AND $wpdb->term_taxonomy.taxonomy LIKE '%".$category_name."%'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'articles' 
ORDER BY post_date DESC LIMIT %d, %d", $start, $per_page));

【讨论】:

  • 我需要对上面的查询进行一些澄清,让我清楚地告诉你我需要什么,我创建了一个自定义帖子类型“文章”和分类(“文章类别”)。现在我想根据类别显示自定义帖子,例如,如果我通过ajax传递类别名称,如何获取特定类别的帖子,上面查询post2cat和postmeta.meta_key(我没有使用这个关键字在此之前请解释一下)。谢谢
  • 感谢您纠正我的回答,请点赞
猜你喜欢
  • 2014-07-12
  • 2021-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-24
相关资源
最近更新 更多