• Hallo,

    ich habe das Problem, dass ich bei "post_content" erst den code "[imdb:id(" dann die formdata auslesen möchte und dann wieder den code schließen ")]". Es funktioniert aber nicht so wie ich es möchte habe schon mehrere Sachen versucht, bin jetzt leider auch nicht der Profi.


    Code
    if ( $cfdata->id() == '118738') {
            $newpublish = array(
                'post_title' => $formdata['posttitle'],
    
    
                'post_content' => ("[imdb:id("), $formdata['imdbform'], (")]"),
                
                'post_status' => 'publish', // Status
                'post_type' => 'post', // Post Type
            );


    Und wie mache ich den Code am besten wenn ich mehrere solcher "Codefolgen" hintereinander abfragen möchte ?

    Hier ein kleines Beispiel was ich genau meine:


    Code
    if ( $cfdata->id() == '118738') {
            $newpublish = array(
                'post_title' => $formdata['posttitle'],
    
    
                'post_content' => ("[imdb:id("), $formdata['imdbform'], (")]""[imdb:id2("), $formdata['imdbform2'], (")]"),
                
                'post_status' => 'publish', // Status
                'post_type' => 'post', // Post Type
            );


    usw.


    Hoffe das mir da jemand weiterhelfen kann.


    Vielen dank schonmal im vorraus

    • 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

  • Hallo,
    erzähle doch mal was du vorhast - damit man sich was drunter vorstellen kann.
    Zum Code ansich ist zu sagen, dass alles nach post_content falsch ist.
    Noch eine Frage: ist das Array für Wp_query?
    LG, pixselig

  • Vielen Dank, das hat für mich geklappt.


    Habe jetzt aber noch das Problem, dass ich gerne die Beitragskategorien
    gerne als Name eingeben würde und nicht als id.

    Wenn die kategorie nicht vorhanden ist Soll sie erstellt werden.


    Benutze hier einen Code um mit dem Plugin "contact-form-7" ein Post zu erstellen,
    funktioniert alles bestens, außer das ich keine Kategorie festlegen kann.


    Also quasi diese Funktion, nur das ich keine category id sondern category name angebe.

    Das hat den Hintergrund, dass die Kategorien (Name) von einer Quelle angegeben
    wird und somit dem Post hinzugefügt werden soll.

    'post_category' => [ array(<category id>, ...) ] // Default empty.
    Und so werden die Kategorien angegeben: Action, Abenteuer, Fantasy, Sci-Fi (z.b.)


    Hier der gekürzte Code aus der functions.php

    Ich hoffe, das mir da jemand helfen kann.

  • Hallo
    Ist ja durchwegs interessant cf7 zum Posten zu verwenden - coole Idee.
    Zu deiner Frage:
    Du könntest den Parameter "category_name" verwenden. Aber Achtung, dieser Parameter verlangt die category-slugs (welche aber in den meisten Fällen den Namen eh sehr ähnlich oder sogar gleich sind).
    LG, pixselig

  • Hallo ,

    könntest du mir vielleicht ein Beispiel machen,
    denn die standard Parameter von Wordpress verlangen ja die IDs?


    Und wie genau kann ich falls die Kategorie nicht vorhanden ist, diese erstellen ?

    LG

  • Hallo

    Also:
    1.) habe ich mich vertan: weder wp_insert_post (http://codex.wordpress.org/Function_Reference/wp_insert_post) noch wp_set_post_categories (http://codex.wordpress.org/Function_Refer…post_categories) erlaubt die Verwendung von "category_name" => beide arbeiten nur mit den category IDs.

    2.) ist dein Vorhaben schon etwas komplex. Du solltest di einmal grundsätzlich überlegen wie du das handhaben willst:
    -soll der User die Kategorie frei in ein Textfeld eingeben können? (ist die einfachste Methode, du läufst aber Gefahr, dass durch Tippfehler oder Rechtschreibfehler eine Unzahl an Kategorien angelegt werden)
    -oder soll der User aus allen bis dato vorhandenen Kategorien eine/mehrere(???->!!!) Kategorie(n) auswählen können und nur wenn keine zutrifft eine neue erstellen können? (dies ist schon wesentlich komplexer, da das cf7 Formular die bestehenden Kategorien auslesen muss.

    Wie auch immer du das planst, du wirst in den Funktionen mit den categoriy Ids arbeiten müssen, wärend du im Frontend natürlich den Kategorie Namen benötigst. Selbigen bekommst du zu jeder ID mit dieser WP-Funktion -> http://codex.wordpress.org/Function_Reference/get_cat_name

    Das ganze gehört sich aber wie schon gesagt erstens vom Aufbau her sehr gut überlegt! und zweitens ist dann die Umsetzung auch nicht einfach so aus dem Ärmel zu schütteln.

    LG, pixselig

  • Vielen Dank für die schnelle Antwort, ich werde mal sehen wie ich das machen werde.

    Habe jetzt noch ein anderes Problem, der Post Titel wird über ein Shortcode ausgegeben,
    was auch super funktioniert aber der Permalink gibt mir nur den Shortcode aus.

    Also Titel ist z.b. "Avatar - Aufbruch nach Pandora" Permalink ist aber "imdbidtt0499549imdbtitle_nolink".

    Hier der gekürzte Code aus der functions.php


    Als Info "[imdb:id(tt0499549)]" gibt einem Plugin die IMdb ID vor um Infos zu einem Film mit [imdb:title_nolink] auszugeben.

    Die IMdb ID (tt0499549) wird über das Formular angegeben.


    LG

    Einmal editiert, zuletzt von playnic (12. Oktober 2014 um 00:47)

  • Habe gerade noch gesehen, dass man mit "post_name" den Permalink bestimmen kann, aber das funktioniert mit shortcodes nicht.

    Kann man den Shortcode irgendwie vorher ausführen lassen und dann ausgeben ?

    Kenne mich da leider nicht genau aus.


    LG

  • Vielen Dank für die schnelle Antwort, das habe ich aber auch schon geändert gehabt. Leider keine Änderung.

    Es geht mir ja nur um den Permalink, welcher "imdbidtt0499549imdbtitle_nolink" ist und nicht wie
    der Titel z.b. "Avatar - Aufbruch nach Pandora".


    Hier der gekürzte Code aus der functions.php


    Als Info "[imdb:id(tt0499549)]" gibt einem Plugin die IMdb ID vor um Infos zu einem Film mit [imdb:title_nolink] auszugeben.

    Die IMdb ID (tt0499549) wird über das Formular angegeben.


    In den Plugin Dateien gibt es folgenden Code:


    Ich dachte es würde etwas bringen wenn ich einen Filter für "post_name" anlegen würde:

    add_filter('post_name', array($mgmt, 'liveFilterImdbTags'));


    Das er den filter auch für den Permalink benutzt und somit die Shortcode umwandelt, wie er es beim Titel macht.

    Funktioniert nur leider nicht wie gewünscht.


    Hier mal die Dateien vom Plugin wenns hilft:


    imdb-markup-syntax.php

    Callback_Management.php:


    Hier der Plugin Link: https://wordpress.org/plugins/imdb-markup-syntax/


    Bin langsam am verzweifeln..

    LG

Jetzt mitmachen!

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