Sample code for 30+ languages & platforms
Lianja

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 Lianja Downloads

Lianja
llSuccess = .F.

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loHttp = createobject("CkHttp")

// 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 = .T.

// Create the tag "ChatGPT" if it does not already exist.
loJson = createobject("CkJsonObject")
loJson.UpdateString("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.
loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpJson("POST","https://cknotes.com/wp-json/wp/v2/tags",loJson,"application/json",loResp)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loJson
    release loResp
    return
endif

loJResp = createobject("CkJsonObject")
loJResp.Load(loResp.BodyStr)

// Check if the tag already exists..
if (loResp.StatusCode = 400) then
    if (loJResp.HasMember("code") = .T.) then
        if (loJResp.StringOfEquals("code","term_exists",.T.) = .T.) then
            // The tag already exists.
            ? "The tag already exists."
            ? "Tag ID: " + str(loJResp.IntOf("data.term_id"))
            release loHttp
            release loJson
            release loResp
            release loJResp
            return
        endif

    endif

    // Fall through to check for errors.
endif

// Check for errors.
if (loResp.StatusCode <> 201) then
    ? loResp.BodyStr
    ? "status code = " + str(loResp.StatusCode)
    release loHttp
    release loJson
    release loResp
    release loJResp
    return
endif

// We get here if the tag was created..
? "The tag was created."
? "Tag ID = " + str(loJResp.IntOf("id"))


release loHttp
release loJson
release loResp
release loJResp