1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

PHP Code Fehler

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von playnic, 8. Oktober 2014.

  1. playnic

    playnic Well-Known Member

    Registriert seit:
    25. April 2014
    Beiträge:
    55
    Zustimmungen:
    0
    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    usw.




    Hoffe das mir da jemand weiterhelfen kann.


    Vielen dank schonmal im vorraus
     
  2. pixselig

    pixselig Well-Known Member

    Registriert seit:
    8. Mai 2012
    Beiträge:
    2.301
    Zustimmungen:
    10
    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
     
  3. Kai Jansen

    Kai Jansen Member

    Registriert seit:
    1. Oktober 2014
    Beiträge:
    10
    Zustimmungen:
    0
    Also eine String-Verkettung funktioniert in PHP mit dem Punkt.

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und dann musst du das Komma hinter dem letzten Array-Eintrag weg lassen, sonst gibt es einen PHP-Fehler.
     
  4. playnic

    playnic Well-Known Member

    Registriert seit:
    25. April 2014
    Beiträge:
    55
    Zustimmungen:
    0
    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.
     
  5. pixselig

    pixselig Well-Known Member

    Registriert seit:
    8. Mai 2012
    Beiträge:
    2.301
    Zustimmungen:
    10
    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
     
  6. playnic

    playnic Well-Known Member

    Registriert seit:
    25. April 2014
    Beiträge:
    55
    Zustimmungen:
    0
    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
     
  7. pixselig

    pixselig Well-Known Member

    Registriert seit:
    8. Mai 2012
    Beiträge:
    2.301
    Zustimmungen:
    10
    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_Reference/wp_set_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
     
  8. playnic

    playnic Well-Known Member

    Registriert seit:
    25. April 2014
    Beiträge:
    55
    Zustimmungen:
    0
    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
     
    #8 playnic, 12. Oktober 2014
    Zuletzt bearbeitet: 12. Oktober 2014
  9. playnic

    playnic Well-Known Member

    Registriert seit:
    25. April 2014
    Beiträge:
    55
    Zustimmungen:
    0
    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
     
  10. pixselig

    pixselig Well-Known Member

    Registriert seit:
    8. Mai 2012
    Beiträge:
    2.301
    Zustimmungen:
    10
  11. playnic

    playnic Well-Known Member

    Registriert seit:
    25. April 2014
    Beiträge:
    55
    Zustimmungen:
    0
    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
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden