Как отправить данные пользовательских полей с помощью Python WordPress xmlrpc - PullRequest
1 голос
/ 30 марта 2019

Я использую менеджер заданий wp на моем сайте.когда я пытался добавить листинг по xmlrpc, все нормально, но Категории и Местоположение пустые.

Снимок экрана Снимок экрана

Мой код какниже.Не могли бы вы сказать мне, что не так с моим кодом?Спасибо

from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts
from wordpress_xmlrpc.methods import posts
from wordpress_xmlrpc import WordPressTerm
from wordpress_xmlrpc.methods import taxonomies

wp = Client('http://127.0.0.1/15wp/xmlrpc.php', 'admin', '123456')

# now let's create a new product
widget = WordPressPost()
widget.post_type = 'job_listing'
widget.title = 'Widgetlast02'
widget.content = 'This is the widgets description.'
widget.post_status = 'publish'
widget.custom_fields = []
widget.custom_fields.append({
        'job_location': 'Newyork',
        'job_listing_category':  'hotel'
})
widget.id = wp.call(posts.NewPost(widget))

1 Ответ

0 голосов
/ 30 марта 2019

Это всего лишь предположение, если взглянуть на документацию для WordPressPost в wordpress_xmlrpc:

(выделение у меня)

class WordPressPost

Представляет запись, страницу или другой зарегистрированный пользовательский тип записи в WordPress.

  • id
  • user
  • date(datetime)
  • date_modified (datetime)
  • slug
  • post_status
  • title
  • content
  • выдержка
  • ссылка
  • comment_status
  • ping_status
  • условия (список WordPressTerms)
  • условия_имя (dict)
  • custom_fields (dict)
  • корпус (dict)
  • пароль
  • post_format
  • thumbnail
  • sticky
  • post_type

Ожидается, что custom_fields будет dict - вы создаете list и затем вставляете dict в этот список:

widget.custom_fields = []
widget.custom_fields.append({
        'job_location': 'Newyork',
        'job_listing_category':  'hotel'
})

Это, вероятно, будет работать лучше:

widget.custom_fields = {
        'job_location': 'Newyork',
        'job_listing_category':  'hotel'
}
...