Tcl
Tcl
WordPress Create Tag
See more WordPress Examples
Demonstrates how to create a new tag in Wordpress, or to find the ID of an existing tag.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
# Use your WordPress login, such as "admin", not the application name.
CkHttp_put_Login $http "wp_username"
# Use the application password, such as "Nths RwVH eDJ4 weNZ orMN jabq"
# See WordPress Application Passwords Plugin
CkHttp_put_Password $http "app_password"
CkHttp_put_BasicAuth $http 1
# Create the tag "ChatGPT" if it does not already exist.
set json [new_CkJsonObject]
CkJsonObject_UpdateString $json "name" "ChatGPT"
# This will create the tag if it does not yet exist.
# If the tag already exists, then a 400 status code is returned.
# If the tag deoes not yet exist, then a 201 status code is returned.
set resp [new_CkHttpResponse]
set success [CkHttp_HttpJson $http "POST" "https://cknotes.com/wp-json/wp/v2/tags" $json "application/json" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp
exit
}
set jResp [new_CkJsonObject]
CkJsonObject_Load $jResp [CkHttpResponse_bodyStr $resp]
# Check if the tag already exists..
if {[CkHttpResponse_get_StatusCode $resp] == 400} then {
if {[CkJsonObject_HasMember $jResp "code"] == 1} then {
if {[CkJsonObject_StringOfEquals $jResp "code" "term_exists" 1] == 1} then {
# The tag already exists.
puts "The tag already exists."
puts "Tag ID: [CkJsonObject_IntOf $jResp data.term_id]"
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp
delete_CkJsonObject $jResp
exit
}
}
# Fall through to check for errors.
}
# Check for errors.
if {[CkHttpResponse_get_StatusCode $resp] != 201} then {
puts [CkHttpResponse_bodyStr $resp]
puts "status code = [CkHttpResponse_get_StatusCode $resp]"
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp
delete_CkJsonObject $jResp
exit
}
# We get here if the tag was created..
puts "The tag was created."
puts "Tag ID = [CkJsonObject_IntOf $jResp id]"
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp
delete_CkJsonObject $jResp