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
(Visual FoxPro) WordPress Create PostSee more WordPress ExamplesDemonstrates how to create a WordPress post. For more information, see https://wordpress.org/plugins/application-passwords/
LOCAL loHttp LOCAL lnSuccess LOCAL loJson LOCAL lnTagIdx LOCAL loResp LOCAL loJResp * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * Use your WordPress login, such as "admin", not the application name. loHttp.Login = "wp_username" * Use the application password, such as "Nths RwVH eDJ4 weNZ orMN jabq" * See WordPress Application Passwords Plugin loHttp.Password = "app_password" loHttp.BasicAuth = 1 * 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 * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.UpdateString("title","This is a test post") loJson.UpdateString("content","<p>This is the HTML body of my post</p>") * The status can be "draft" or "publish" loJson.UpdateString("status","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. lnTagIdx = 0 loJson.I = lnTagIdx * When Chilkat sees the literal string "[i]" in the JSON path, it replaces the "i" with the value of the "I" property. loJson.UpdateInt("tags[i]",56) lnTagIdx = lnTagIdx + 1 loJson.I = lnTagIdx loJson.UpdateInt("tags[i]",75) * .. loResp = loHttp.PostJson3("https://cknotes.com/wp-json/wp/v2/posts","application/json",loJson) IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loJson CANCEL ENDIF IF (loResp.StatusCode <> 201) THEN ? loResp.BodyStr ? "status code = " + STR(loResp.StatusCode) RELEASE loResp RELEASE loHttp RELEASE loJson CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJResp = CreateObject('Chilkat.JsonObject') loJResp.Load(loResp.BodyStr) ? "Post ID = " + STR(loJResp.IntOf("id")) ? "Post URL = " + loJResp.StringOf("link") RELEASE loResp RELEASE loHttp RELEASE loJson RELEASE loJResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.