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
(PowerBuilder) WordPress Create PostSee more WordPress ExamplesDemonstrates how to create a WordPress post. For more information, see https://wordpress.org/plugins/application-passwords/
integer li_rc oleobject loo_Http integer li_Success oleobject loo_Json integer li_TagIdx oleobject loo_Resp oleobject loo_JResp // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Http = create oleobject // Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 li_rc = loo_Http.ConnectToNewObject("Chilkat.Http") if li_rc < 0 then destroy loo_Http MessageBox("Error","Connecting to COM object failed") return end if // Use your WordPress login, such as "admin", not the application name. loo_Http.Login = "wp_username" // Use the application password, such as "Nths RwVH eDJ4 weNZ orMN jabq" // See WordPress Application Passwords Plugin loo_Http.Password = "app_password" loo_Http.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 loo_Json = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject") loo_Json.UpdateString("title","This is a test post") loo_Json.UpdateString("content","<p>This is the HTML body of my post</p>") // The status can be "draft" or "publish" loo_Json.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. li_TagIdx = 0 loo_Json.I = li_TagIdx // When Chilkat sees the literal string "[i]" in the JSON path, it replaces the "i" with the value of the "I" property. loo_Json.UpdateInt("tags[i]",56) li_TagIdx = li_TagIdx + 1 loo_Json.I = li_TagIdx loo_Json.UpdateInt("tags[i]",75) // .. loo_Resp = loo_Http.PostJson3("https://cknotes.com/wp-json/wp/v2/posts","application/json",loo_Json) if loo_Http.LastMethodSuccess = 0 then Write-Debug loo_Http.LastErrorText destroy loo_Http destroy loo_Json return end if if loo_Resp.StatusCode <> 201 then Write-Debug loo_Resp.BodyStr Write-Debug "status code = " + string(loo_Resp.StatusCode) destroy loo_Resp destroy loo_Http destroy loo_Json return end if loo_JResp = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_JResp.ConnectToNewObject("Chilkat.JsonObject") loo_JResp.Load(loo_Resp.BodyStr) Write-Debug "Post ID = " + string(loo_JResp.IntOf("id")) Write-Debug "Post URL = " + loo_JResp.StringOf("link") destroy loo_Resp destroy loo_Http destroy loo_Json destroy loo_JResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.