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

$id als Variable speichern und wieder übergeben?

Dieses Thema im Forum "Konfiguration" wurde erstellt von skatze, 3. September 2014.

  1. skatze

    skatze Well-Known Member

    Registriert seit:
    5. September 2010
    Beiträge:
    111
    Zustimmungen:
    0
    Hallo,

    ich versuche gerade mit der Funktion the_ID() bzw. get_the_ID() rumzuspielen.
    Ich habe meinen normalen Post mit meiner dazugehörigen $id. Wie ich diese als variable abspeicher ist mir demnach bewusst. Nur leider finde ich keinen Weg diese ID wieder zu übergeben.

    Folgendes Problem:
    Ich habe Produkte auf meiner Seite, somit hat jedes Produkt eine ID. Auf der Produktseite finden sich im unteren Bereich noch weitere Produkte an, nach dem Motto: "Auch interessant". Durch diese weiteren Produkte wird die ID neu vergeben, da die Funktion get_the_ID sich immer die aktuelle ID holt. Nun möchte ich nach diesem Feld wo euch noch interessante Produkte vorgeschlagen werden, meine Kommentarfunktion einfügen. Leider bekommt die comment_Template() nun die falsche ID übergeben..

    Ich habe versucht herauszufinden wie ich die ürsprüngliche ID wieder festsetzen bzw. übergeben kann.. Irgendeiner eine Idee?


    Beste Grüße, Skatze!
     
  2. fragenlurch

    fragenlurch Well-Known Member

    Registriert seit:
    6. Mai 2011
    Beiträge:
    449
    Zustimmungen:
    0
    Hallo Skatze,
    hast du auch code, in den man schauen könnte?

    VG
     
  3. skatze

    skatze Well-Known Member

    Registriert seit:
    5. September 2010
    Beiträge:
    111
    Zustimmungen:
    0
    Aber klar doch!

    Die PHP Datei ist ähnlich der single.php, beginnt also auch mit:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ich hab dort ja meine aktuelle ID für das jeweilige Produkt und der Code für die interessanten Dinge ist dann:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ich hab mir da ein wenig was mit dem Amazon Plugin zurechtgebastelt. Dort wird dann aber eine neue Schleife aufgemacht, wodurch sich die ID ändert, eben für jedes Produkt. Zumindest habe ich es so bisher verstanden.

    Hier eine Beispielseite für ein Produkt mit der unteren Leiste, die die ID ändert: Festival Gadget

    Ich kann auch gerne den gesamten Code meiner single-goods.php posten?!
     
  4. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Möglicherweise verstehe ich das Problem nicht aber wenn Du die ID, die mit the_ID() angezeigt wird für die spätere Verwendung 'aufheben' willst brachst Du die ID doch nur eine variablen zuweisen.

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  5. skatze

    skatze Well-Known Member

    Registriert seit:
    5. September 2010
    Beiträge:
    111
    Zustimmungen:
    0
    Vielleicht hab ich mich auch ein wenig zu kompliziert ausgedrückt..
    Also den Wert in eine Variable zu speichern, ist nicht das Problem, das hab ich genau so gemacht wie du es beschrieben hast.

    Die Frage ist:
    Kann ich diesen Wert, also die ID, später in meinem Loop wieder übergeben?
    Die ID hat sich nämlich im Laufe des Programms geändert, leider weiß ich nicht genau wo (irgendwo in dem zweiten Ausschnitt des PHP-Codes, wie oben beschrieben)..
     
  6. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Ich verstehe es nicht. Mir ist nicht klar wo das Problem ist

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  7. maettu

    maettu Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    64
    Zustimmungen:
    0
    Also so speziell ist der Unterschied von get_the_ID und the_ID nicht. Eine Funktion gibt die ID als Zahl zurück, die andere macht gleich ein "echo" der ID. Das ganze kann man übrigens sehr gut im Code von Wordpress sehen, und zwar hier.
    Klar du kannst jetzt entsprechend die ID zwischenspeichern, nur nützt dir das relativ wenig. Da du die in einer Schleife zwischenspeicherst, wird der Speicher auch bei jedem Durchlauf überschrieben. Ich glaube du musst zuerst lernen wie eine Schleife genau funktioniert. Das mal von der Syntax her plus überlegen, wo du was noch hinzufügen musst um entsprechend alles in einem "Rutsch" zu bearbeiten.
    Vom Prinzip her denke ich du suchst jeden "Post" (das wäre dann ja auch deine ID die ja zum aktuellen Post gehört) einer Seite. Dann schreibst du den HTML-Code für jeden Post und gehst zum nächsten. In diesem Code muss dann wohl deine "Amazon-Plugin-Geschichte" untergebracht werden. Das wird wiederholt bis kein Post mehr auf der Seite ist, anschliessend wird ja noch der Footer hinzugefügt oder so. Also am besten wohl nix mit zwei Schleifen!

    Ich hoffe einigermassen verstanden zu haben, was du willst.
     
  8. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Ich glaube allmählich klingelt es. Dein geposteter Code ist gar nicht vollständig oder? Dort fehlt zumindest der Aufruf das comments_templates. Um zu erreichen was Du möchtest sollte es ausreichen die Zeile

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    durch

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    zu ersetzen.
     
  9. skatze

    skatze Well-Known Member

    Registriert seit:
    5. September 2010
    Beiträge:
    111
    Zustimmungen:
    0
    Ok oder nochmal anders.. Ich dachte das Problem liegt an der ID, aber da kann ich mich auch irren.. So fing alles an:

    Ich möchte gerne für meine Produkte die Kommentarfunktion haben, die es bisher nicht gab.. Deshalb versuche ich am Ende meiner single-goods.php den Code:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    einzufügen.

    So weit so gut und die Kommentarfunktion klappt auch, allerdings wird der Kommentar dann nicht nur auf das jeweilige Pdoukt geschrieben, sondern taucht noch in diversen anderen Produkten auf.. Deshalb die Frage nach der ID?!

    Beispielsweise habe ich ein Kommentar für die LED-Eiswürfel geschrieben. Genau dieser Kommentar tritt jedoch bei diversen anderen Produkten genau so auf..

    Ich habe also nur zum rumprobieren den PHP-Code an anderer Stelle eingefügt. Würde ich die Kommentarfunktion beispielsweise aufrufen, bevor das Feld der "related Posts" wie oben beschrieben auftaucht, dann wird der Kommentar nur für das jeweilige Produkt festgehalten. Ich habe also mal geschaut mit "the_ID()" wo an welcher Stelle ich welche ID habe. Diese ändert sich eben im unteren Bereich der Seite (des Codes)..
     
    #9 skatze, 4. September 2014
    Zuletzt bearbeitet: 4. September 2014
  10. skatze

    skatze Well-Known Member

    Registriert seit:
    5. September 2010
    Beiträge:
    111
    Zustimmungen:
    0
    Sauber, genau das war die Funktion die ich gebraucht habe!!! Vielen Dank, es klappt!!!!
     
  11. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Dann ist meine vorherige Antwort richtig.

    PS.: gepostet bevor skatze's Antwort sichtbar war.
     
  12. maettu

    maettu Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    64
    Zustimmungen:
    0
    Ich glaube so langsam wäre es einfacher, wenn du deine ganze single-goods.php als Datei anhängst!
    Bezüglich Kommentaren wäre es übrigens Sinnvoll zu prüfen ob solche überhaupt vorhanden sind.
    z. B. so:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Edit: Da war ich wohl zu spät...
     
  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