使用 Python 和部落活动日历编写 WordPress Post 元数据
Writing WordPress Post Metadata with Python and Tribe Events Calendar
我需要使用 Python 使用自定义 post 类型将许多 post 写入 WordPress,特别是来自 Tribe 的 tribe_event post 类型活动日历 (https://theeventscalendar.com/product/wordpress-events-calendar/)。它具有事件开始日期和时间的元数据,以及其他字段,我需要访问和分配这些元数据,但找不到在哪里这样做。
一篇类似的文章 (Is creating new Wordpress post with custom post type and custom fields possible via XML-RPC?) 似乎断定这是不可能的,但它是从 2012 年开始的,我在网上找不到更多信息。
我打算这样做:
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts, NewPost
from wordpress_xmlrpc.methods import posts
wp = Client('http://_MYURL/xmlrpc.php', 'myusername', 'mypassword')
然后,为了寻找我的问题的答案,我可以像这样查询几个现有的事件 post:
events = wp.call(posts.GetPosts({'post_type': 'tribe_events', 'number': 100}))
我可以检查其中一个 post 对象,例如:
event = events[0]
dir(events)
但我只看到:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_def', 'comment_status', 'content', 'custom_fields', 'date', 'date_modified', 'definition', 'excerpt', 'guid', 'id', 'link', 'menu_order', 'mime_type', 'parent_id', 'password', 'ping_status', 'post_format', 'post_status', 'post_type', 'slug', 'sticky', 'struct', 'terms', 'thumbnail', 'title', 'user']
这些只是内置的 post 类型值,none 对应于我要分配的 start/end 日期数据。如果我看:
event.custom_fields
我明白了
[]
和
event.date
包含写 post 的日期,而不是我要 post 的事件的日期。数据也不在 terms_names 或 terms.
如何在 Python 中找到在自定义 WordPress post 类型中读取和写入值所需的命名空间?
请注意,插件的代码说明此数据未存储在 WordPress 数据库中,而是自定义 post 类型。
所有的努力都表明这仍然是不可能的。 None 适用于此问题的文档 (http://python-wordpress-xmlrpc.readthedocs.io/en/latest/ref/wordpress.html?highlight=metadata) 成功地在 Python 中发现自定义 WordPress post 类型的名称空间。图书馆的作者 wordpress_xmlrpc 没有回复直接询问。
我需要使用 Python 使用自定义 post 类型将许多 post 写入 WordPress,特别是来自 Tribe 的 tribe_event post 类型活动日历 (https://theeventscalendar.com/product/wordpress-events-calendar/)。它具有事件开始日期和时间的元数据,以及其他字段,我需要访问和分配这些元数据,但找不到在哪里这样做。
一篇类似的文章 (Is creating new Wordpress post with custom post type and custom fields possible via XML-RPC?) 似乎断定这是不可能的,但它是从 2012 年开始的,我在网上找不到更多信息。
我打算这样做:
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts, NewPost
from wordpress_xmlrpc.methods import posts
wp = Client('http://_MYURL/xmlrpc.php', 'myusername', 'mypassword')
然后,为了寻找我的问题的答案,我可以像这样查询几个现有的事件 post:
events = wp.call(posts.GetPosts({'post_type': 'tribe_events', 'number': 100}))
我可以检查其中一个 post 对象,例如:
event = events[0]
dir(events)
但我只看到:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_def', 'comment_status', 'content', 'custom_fields', 'date', 'date_modified', 'definition', 'excerpt', 'guid', 'id', 'link', 'menu_order', 'mime_type', 'parent_id', 'password', 'ping_status', 'post_format', 'post_status', 'post_type', 'slug', 'sticky', 'struct', 'terms', 'thumbnail', 'title', 'user']
这些只是内置的 post 类型值,none 对应于我要分配的 start/end 日期数据。如果我看:
event.custom_fields
我明白了
[]
和
event.date
包含写 post 的日期,而不是我要 post 的事件的日期。数据也不在 terms_names 或 terms.
如何在 Python 中找到在自定义 WordPress post 类型中读取和写入值所需的命名空间?
请注意,插件的代码说明此数据未存储在 WordPress 数据库中,而是自定义 post 类型。
所有的努力都表明这仍然是不可能的。 None 适用于此问题的文档 (http://python-wordpress-xmlrpc.readthedocs.io/en/latest/ref/wordpress.html?highlight=metadata) 成功地在 Python 中发现自定义 WordPress post 类型的名称空间。图书馆的作者 wordpress_xmlrpc 没有回复直接询问。