@@ -330,22 +330,23 @@ private enum RemotePostXMLRPCCodingKeys: String, CodingKey {
330330 case ifNotModifiedSince = " if_not_modified_since "
331331 case type = " post_type "
332332 case postStatus = " post_status "
333- case date = " date_created_gmt "
334- case authorID = " wp_author_id "
335- case title
336- case content = " description "
337- case password = " wp_password "
338- case excerpt = " mt_excerpt "
339- case slug = " wp_slug "
340- case featuredImageID = " wp_post_thumbnail "
341- case parentPageID = " wp_page_parent_id "
342- case tags = " mt_keywords "
343- case format = " wp_post_format "
333+ case date = " post_date "
334+ case authorID = " post_author "
335+ case title = " post_title "
336+ case content = " post_content "
337+ case password = " post_password "
338+ case excerpt = " post_excerpt "
339+ case slug = " post_name "
340+ case featuredImageID = " post_thumbnail "
341+ case parentPageID = " post_parent "
342+ case terms = " terms "
343+ case termNames = " terms_names "
344+ case format = " post_format "
344345 case isSticky = " sticky "
345- case categoryIDs = " categories "
346346 case metadata = " custom_fields "
347347
348- static let postTags = " post_tag "
348+ static let taxonomyTag = " post_tag "
349+ static let taxonomyCategory = " category "
349350}
350351
351352struct RemotePostCreateParametersXMLRPCEncoder : Encodable {
@@ -376,10 +377,10 @@ struct RemotePostCreateParametersXMLRPCEncoder: Encodable {
376377 // Posts
377378 try container. encodeIfPresent ( parameters. format, forKey: . format)
378379 if !parameters. tags. isEmpty {
379- try container. encode ( parameters. tags, forKey: . tags )
380+ try container. encode ( [ RemotePostXMLRPCCodingKeys . taxonomyTag : parameters. tags] , forKey: . termNames )
380381 }
381382 if !parameters. categoryIDs. isEmpty {
382- try container. encodeIfPresent ( parameters. categoryIDs, forKey: . categoryIDs )
383+ try container. encode ( [ RemotePostXMLRPCCodingKeys . taxonomyCategory : parameters. categoryIDs] , forKey: . terms )
383384 }
384385 if parameters. isSticky {
385386 try container. encode ( parameters. isSticky, forKey: . isSticky)
@@ -422,14 +423,16 @@ struct RemotePostUpdateParametersXMLRPCEncoder: Encodable {
422423 // Posts
423424 try container. encodeStringIfPresent ( parameters. format, forKey: . format)
424425 if let tags = parameters. tags {
425- try container. encode ( tags, forKey: . tags)
426+ try container. encode ( [ RemotePostXMLRPCCodingKeys . taxonomyTag: tags] , forKey: . termNames)
427+ }
428+ if let categoryIDs = parameters. categoryIDs {
429+ try container. encode ( [ RemotePostXMLRPCCodingKeys . taxonomyCategory: categoryIDs] , forKey: . terms)
426430 }
427- try container. encodeIfPresent ( parameters. categoryIDs, forKey: . categoryIDs)
428431 try container. encodeIfPresent ( parameters. isSticky, forKey: . isSticky)
429432 }
430433}
431434
432- struct RemotePostUpdateParametersXMLRPCMetadata : Encodable {
435+ private struct RemotePostUpdateParametersXMLRPCMetadata : Encodable {
433436 let id : String ?
434437 let key : String ?
435438 let value : String ?
0 commit comments