【发布时间】:2017-10-28 16:20:59
【问题描述】:
我正在关注文档here 以按类别查询自定义帖子类型的 WordPress 帖子。这个问题有 PHP 的答案,但我找不到 Python 的答案。除非我遗漏了什么,否则该功能不会按预期工作。如果我从以下开始:
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts
from wordpress_xmlrpc.methods import posts
from wordpress_xmlrpc import WordPressTerm
wp = Client('http://www.mywebsite.info/xmlrpc.php', 'myusername', 'mypassword')
那么这会成功返回一个有问题的类别列表:
categories = wp.call(taxonomies.GetTerms('category'))
这成功返回了我尝试查询的自定义帖子类型的(前 10 个)帖子列表:
posts = wp.call(posts.GetPosts({ 'post_type': 'my-custom-post-type' }))
但如果我添加以下内容:
posts = wp.call(posts.GetPosts({ 'post_type': 'my-custom-post-type', 'terms_names': { 'category' :['my-category',]} }))
它仍然给出与没有“terms-names”过滤器的查询相同的结果,就好像附加术语被完全忽略了一样。事实上,如果我在查询中添加不存在的类别,它会给出相同的结果而不会返回异常/错误,例如:
posts = wp.call(posts.GetPosts({ 'post_type': 'my-custom-post-type', 'terms_names': { 'category' :['nonsense-word',]} }))
我也尝试过其他方法,例如:
posts = wp.call(posts.GetPosts({ 'post_type': 'my-custom-post-type', 'terms': { 'category' :[72]} }))
... 结果相同。我在这里不明白什么?
【问题讨论】: