1

这些 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,newshttp://domain.com/wp/api/get_category_posts/?category_slug=featured|news

我希望在 SQL 中做一个“其中 category_name in ('featured','news')

4

3 回答 3

1

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

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

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

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

于 2013-02-07T22:51:20.117 回答
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 和 url 转到带有 nonce 集的 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 格式发布的帖子。

于 2013-02-03T05:30:24.553 回答
0

您是否尝试过将 category_name 设为数组?例如

<?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')
 )); ?>
于 2013-02-06T06:24:08.447 回答