Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    Variant vJson
    Handle hoJson
    Variant vResp
    Handle hoResp
    Handle hoJResp
    String sTemp1
    Integer iTemp1
    Boolean bTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // Use your WordPress login, such as "admin", not the application name.
    Set ComLogin Of hoHttp To "wp_username"
    // Use the application password, such as "Nths RwVH eDJ4 weNZ orMN jabq"
    // See WordPress Application Passwords Plugin
    Set ComPassword Of hoHttp To "app_password"
    Set ComBasicAuth Of hoHttp To True

    // Create the tag "ChatGPT" if it does not already exist.
    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get ComUpdateString Of hoJson "name" "ChatGPT" To iSuccess

    // 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.
    Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
    If (Not(IsComObjectCreated(hoResp))) Begin
        Send CreateComObject of hoResp
    End
    Get pvComObject of hoJson to vJson
    Get pvComObject of hoResp to vResp
    Get ComHttpJson Of hoHttp "POST" "https://cknotes.com/wp-json/wp/v2/tags" vJson "application/json" vResp To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
    If (Not(IsComObjectCreated(hoJResp))) Begin
        Send CreateComObject of hoJResp
    End
    Get ComBodyStr Of hoResp To sTemp1
    Get ComLoad Of hoJResp sTemp1 To iSuccess

    // Check if the tag already exists..
    Get ComStatusCode Of hoResp To iTemp1
    If (iTemp1 = 400) Begin
        Get ComHasMember Of hoJResp "code" To bTemp1
        If (bTemp1 = True) Begin
            Get ComStringOfEquals Of hoJResp "code" "term_exists" True To bTemp1
            If (bTemp1 = True) Begin
                // The tag already exists.
                Showln "The tag already exists."
                Get ComIntOf Of hoJResp "data.term_id" To iTemp1
                Showln "Tag ID: " iTemp1
                Procedure_Return
            End

        End

        // Fall through to check for errors.
    End

    // Check for errors.
    Get ComStatusCode Of hoResp To iTemp1
    If (iTemp1 <> 201) Begin
        Get ComBodyStr Of hoResp To sTemp1
        Showln sTemp1
        Get ComStatusCode Of hoResp To iTemp1
        Showln "status code = " iTemp1
        Procedure_Return
    End

    // We get here if the tag was created..
    Showln "The tag was created."
    Get ComIntOf Of hoJResp "id" To iTemp1
    Showln "Tag ID = " iTemp1


End_Procedure