Skip to content
This repository was archived by the owner on Sep 15, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ _None._

### New Features

_None._
- Support updating media metadata via XMLRPC API [#809]

### Bug Fixes

Expand Down
40 changes: 37 additions & 3 deletions Sources/WordPressKit/Services/MediaServiceRemoteXMLRPC.m
Original file line number Diff line number Diff line change
Expand Up @@ -199,10 +199,44 @@ - (void)updateMedia:(RemoteMedia *)media
success:(void (^)(RemoteMedia *remoteMedia))success
failure:(void (^)(NSError *error))failure
{
//HACK: Sergio Estevao: 2016-04-06 this option doens't exist on XML-RPC so we will always say that all was good
if (success) {
success(media);
NSParameterAssert([media.mediaID longLongValue] > 0);

NSMutableDictionary *content = [NSMutableDictionary dictionary];

if (media.title != nil) {
content[@"post_title"] = media.title;
}

if (media.caption != nil) {
content[@"post_excerpt"] = media.caption;
}

if (media.descriptionText != nil) {
content[@"post_content"] = media.descriptionText;
}

NSArray *extraDefaults = @[media.mediaID];
NSArray *parameters = [self XMLRPCArgumentsWithExtraDefaults:extraDefaults andExtra:content];

[self.api callMethod:@"wp.editPost"
parameters:parameters
success:^(id responseObject, NSHTTPURLResponse *httpResponse) {
BOOL updated = [responseObject boolValue];
if (updated) {
if (success) {
success(media);
}
} else {
if (failure) {
NSError *error = [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorUnknown userInfo:nil];
failure(error);
}
}
} failure:^(NSError *error, NSHTTPURLResponse *httpResponse) {
if (failure) {
failure(error);
}
}];
}

- (void)deleteMedia:(RemoteMedia *)media
Expand Down