Tags mit wp_insert_post

  • Hi,

    ich habe mit wp_insert_post ein Formular erstellt, mit dem Unregistrierte in meinem Blog Beiträge verfassen können. Meine Frage:

    Mit welchem Befehl integriere ich Tags - das wird leider bei dem Befehl nicht beschrieben... :oops:

    Bitte Hilfääää :)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Nutze dafür diese Funktion: wp_set_post_tags();

    Wenn die Nutzer also in ein Textfeld kommasepariert Tags eingeben können sollen, versuche es mit folgendem kleinen Schnipsel:

    PHP
    $tagarray = explode(",", trim( $tags ));
    wp_set_post_tags($postid, $tagarray);
    unset($GLOBALS['tag_cache']);


    Das nutze ich in einem meiner Plugins.

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Ich habe das in etwa so aufgebaut: Der User hat insgesamt 2 Listen, aus der er jeweils eines von 3 verschiedenen Tags auswählen kann. Das formular schaut dann grob so aus:

    <select size="1" name="tag1">
    <option value="eins">eins</option>
    <option value="zwei">zwei</option>
    <option value="drei">drei</option>
    </select>


    <select size="1" name="tag2">
    <option value="eins">eins</option>
    <option value="zwei">zwei</option>
    <option value="drei">drei</option>
    </select>


    Wie kann ich denn deinen Code so einbauen, dass "tag1" der erste tag ist und "tag2" der zweite ? Sorry, aber ich bin in PHP noch nicht so ganz fit.. :cry:

  • Hmm, Tags vorzugeben widerspricht dem Gedanken des freien Taggens etwas, aber gut.

    Grob würde dein PHP-Code dann verändert so aussehen (ungetestet):

    PHP
    $tagarray = array( $_POST['tag1'], $_POST['tag2'] );
    wp_set_post_tags($postid, $tagarray);
    unset($GLOBALS['tag_cache']);

    wpseek.com - Die WordPress-Code-Suchmaschine

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!