是否可以在WordPress API中请求与多个类别匹配的文章?

时间:2013-01-30 07:27:47

标签: wordpress api

这些api完美无缺。 http://domain.com/wp/api/get_tag_posts/?tag_slug=banana http://domain.com/wp/api/get_category_posts/?category_slug=featured

有没有办法将多个标签或类别合并到一个请求中? 例如。

http://domain.com/wp/api/get_category_posts/?category_slug=featured,news 要么 http://domain.com/wp/api/get_category_posts/?category_slug=featured|news

我希望在SQL中做什么是“其中category_name in('featured','news')

3 个答案:

答案 0 :(得分:1)

你在此之后

<?php $args = array(
'posts_per_page' => 10,
'category__not_in' => array(5,151)
    );
    query_posts($args);?>

这是您在PHP中需要做的,以从多个类别获取多个帖子。现在,如果您还在寻找json或xml或任何格式,它会吐出来。在functions.php中添加一个新函数并将其注册到

add_action( 'wp_ajax_nopriv_getmyjson', 'myfunctionname' );
add_action( 'wp_ajax_getmyjson', 'myfunctionname' );
function myfunctionname()
{
   Global $wpdb;
  ...
 }

在你的主题或插件中调用它,然后使用action = getmyjson,并使用nonce set将url转到admin_ajax。在Global $wpdb之后,你可以使用上面的函数来带来所有帖子,然后通过它们作为json对象。像这样的东西

$response = json_encode( array( 
    'success' => true,
    'message' => $ajaxmsg
    'posts' => $mypostarray
    ) 
);

// response output
header( "Content-Type: application/json" );
echo $response;

die();   //This would then make sure it is not getting anything else out of wordpress and sends only json out.

一旦完成这一切。您将以json格式输出多个帖子。

答案 1 :(得分:1)

我需要做同样的事情并最终使用这个插件

查询多个分类。此插件允许您使用多个自定义分类法进行分面搜索。 (作者的描述)。

http://wordpress.org/extend/plugins/query-multiple-taxonomies/

它还有一个方便的侧边栏小部件。希望这可以帮助!

答案 2 :(得分:0)

您是否尝试将category_name设为数组? e.g。

<?php $args = array(
    'posts_per_page' => 10,
    'category_name' => array('featured', 'news')
);
query_posts($args);?>

另外,通过标签,我找到了这个例子:

<?php query_posts('cat=32&tag=hs1+hs1&showposts=10'); ?>

<?php query_posts(array(
    'posts_per_page' => 10,
    'category_name' => array('featured', 'news'),
    'tag_slug__and'=>array('banana')
 )); ?>