Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) WordPress Create PostSee more WordPress ExamplesDemonstrates how to create a WordPress post. For more information, see https://wordpress.org/plugins/application-passwords/
#import <CkoHttp.h> #import <CkoJsonObject.h> #import <CkoHttpResponse.h> // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoHttp *http = [[CkoHttp alloc] init]; BOOL success; // Use your WordPress login, such as "admin", not the application name. http.Login = @"wp_username"; // Use the application password, such as "Nths RwVH eDJ4 weNZ orMN jabq" // See WordPress Application Passwords Plugin http.Password = @"app_password"; http.BasicAuth = YES; // Note: For this to work, you'll likely need to update your .htaccess file on your WordPress server. // Otherwise you'll get this error: // // 401 : Sorry, you are not allowed to create posts as this user // // Your default .htaccess file probably looks like this: // // <IfModule mod_rewrite.c> // RewriteEngine On // RewriteBase / // RewriteRule ^index\.php$ - // RewriteCond %{REQUEST_FILENAME} !-f // RewriteCond %{REQUEST_FILENAME} !-d // RewriteRule . /index.php // </IfModule> // # END WordPress // // Add the following line immediately after the "RewriteEngine On" line: RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}] // Your .htaccess file should look like this after the edit: // // <IfModule mod_rewrite.c> // RewriteEngine On // RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}] // RewriteBase / // RewriteRule ^index\.php$ - // RewriteCond %{REQUEST_FILENAME} !-f // RewriteCond %{REQUEST_FILENAME} !-d // RewriteRule . /index.php // </IfModule> // # END WordPress CkoJsonObject *json = [[CkoJsonObject alloc] init]; [json UpdateString: @"title" value: @"This is a test post"]; [json UpdateString: @"content" value: @"<p>This is the HTML body of my post</p>"]; // The status can be "draft" or "publish" [json UpdateString: @"status" value: @"draft"]; // Add tags -- but you need to know the ID of an existing tag. // See Chilkat's other WordPress example for creating a tag, or getting the ID of an existing tag. int tagIdx = 0; json.I = [NSNumber numberWithInt: tagIdx]; // When Chilkat sees the literal string "[i]" in the JSON path, it replaces the "i" with the value of the "I" property. [json UpdateInt: @"tags[i]" value: [NSNumber numberWithInt: 56]]; tagIdx = tagIdx + 1; json.I = [NSNumber numberWithInt: tagIdx]; [json UpdateInt: @"tags[i]" value: [NSNumber numberWithInt: 75]]; // .. CkoHttpResponse *resp = [http PostJson3: @"https://cknotes.com/wp-json/wp/v2/posts" contentType: @"application/json" json: json]; if (http.LastMethodSuccess == NO) { NSLog(@"%@",http.LastErrorText); return; } if ([resp.StatusCode intValue] != 201) { NSLog(@"%@",resp.BodyStr); NSLog(@"%@%d",@"status code = ",[resp.StatusCode intValue]); return; } CkoJsonObject *jResp = [[CkoJsonObject alloc] init]; [jResp Load: resp.BodyStr]; NSLog(@"%@%d",@"Post ID = ",[[jResp IntOf: @"id"] intValue]); NSLog(@"%@%@",@"Post URL = ",[jResp StringOf: @"link"]); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.