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

Wp Query with meta key

Dieses Thema im Forum "Allgemeines" wurde erstellt von nature225, 13. März 2019.

  1. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Hey zusammen,

    eine Frage. Habe eine Datenbank Abfrage und bekomme daraus eine online_number.

    Diese würde ich gerne im Wp_Query einfügen.

    Ist es machbar den wp query immer neu mit dem neuen Value zu füllen

    Aktueller Code:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Beim Query wird derzeit nur eine Online Nummer ausgefüllt. Vorhanden sind aber 3
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.637
    Zustimmungen:
    1.778
    Evtl. so in der Art, ungetestet:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Evtl. musst Du aber noch etwas genauer beschreiben, was Du eigentlich machen willst...
     
  3. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Danke für die Antwort. Es wird mir dennoch nur 1 Permalink ausgeben von dem 1 Post den er findet

    Also ich würde gerne den permalink bekommen anhand des meta_keys.. Ich mache eine Datenbank Abfrage und bekomme so die online_number. Diese habe ich als meta_key auch bei den Posts hinterlegt.
     
    #3 nature225, 13. März 2019
    Zuletzt von einem Moderator bearbeitet: 13. März 2019
  4. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.637
    Zustimmungen:
    1.778
    Wie genau gibst Du denn was aus? Das kommt im aktuellen Code nicht vor.

    Und was wird bei den echo Zeilen ausgegeben (bei denen am Rande bemerkt $i nicht definiert ist)?
     
  5. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Den Code welchen ich ausgebe kann ich morgen nochmal senden

    Aufjedenfall gebe ich Daten von der Datenbank aus und möchte gerne im a href tag (get_the_permalink) zu jeweiligen Post machen

    Allerdings kommt durch den wp query nur 1 permalink aver auch nur 1 title heraus und nicht 3
     
  6. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.637
    Zustimmungen:
    1.778
    Die Ausgabe der o.g. echo Zeilen wären auch sehr interessant, es ist derzeit unklar, was überhaupt in $rows und demnach in $data->online_number bzw. im entspr. gesuchten benutzerdefinierten Feld online_number der einzelnen immo Beiträge steht, der aktuelle Code geht von einer einfachen Nummer o.ä. aus.
     
  7. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Das kann nicht funktionieren. Der Query ist ausserhalb des Loop und daher wird immer die letzte online_nr verwendet.
     
  8. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Online number vom $rows ist zb 7245 und im mega Field steht das gleiche —

    Hatte den query in der Foreach schon dein was auch nichts geändert hatte - kann euch morgen einmal den Code zeigen
     
  9. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Und erkläre auch die Zusammenhänge
     
  10. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Also hier ist mein kompletter Code

    Ich hole mir alle Daten aus der Datenbank und gebe unten auch die Daten aus. Allerdings würde ich den permalink gerne aus dem QP_Query erhalten. Dafür den meta_query.

    Allerdings wird mir immer nur 1 Permalink ausgegeben. Und kein Loop wo alle permalinks drin sind. Oder ist es so nicht machbar wie ich es mir vorstelle?

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  11. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Was bezweckt die foreach Schleife? $online_nr und $intern_nr werde dort einfach immer wieder mit neuen Daten überschrieben und der var_dump gibt einfach den letzten Wert aus.
     
  12. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.637
    Zustimmungen:
    1.778
    Stimmt, siehe daher der Anpassungsvorschlag aus #2 oben, der wurde offenbar noch nicht umgesetzt.
     
  13. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    So upgedatet. Es wird dennoch imemr nur der 1 Permalink ausgegeben
     
  14. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Wie ich es gerade sehe liegt es whrsl an der 2. foreach Schleife..hmm..
     
  15. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Frust! Das sind Dinge, die man als Entwickler in Form eines Proof-of-Concept in max. 30 Minuten erledigt hat, wenn man am Quellcode sitzt und sich die Objekte ausgeben lassen kann. Dann weiss man wo was steht und wo die Gemeinsamkeiten liegen. Ruckzuck ist dann eine Klasse mit drei vier Methoden geschrieben. Über das Forum braucht man Stunden oder Tage um so etwas zu Debuggen, weil man immer nur einen Ausschnitt sieht. Frust!! ... sagte ich schon :(

    Schau Dir die Objekte an, wie sie in $rows stehen. Im Query Loop greifst Du dann auf die Eigenschaften der Objekte über die Gemeinsamkeit zu. Wenn es Die nicht gibt, musst Du eine schaffen oder die Objekte "verschmelzen".
     
  16. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Objekte verschmelzen, darf ich fragen was du damit genau meinst.. Entschuldigung gerade echt mehr als ein brett vor dem Kopf weil ich vor dem Problem schon lange sitze, alles mit debuggen versucht habe :/
     
  17. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.637
    Zustimmungen:
    1.778
    Was genau wird komplett inkl. der echo Zeilen mit dem o.g. Code ausgegeben? Link zur Seite?

    Und füge nach dem $the_query = new WP_Query( .. ) in #13 eine Zeile var_dump( $the_query ); ein, damit Du sehen kannst, was überhaupt als Ergebnis ermittelt wird.

    Abgesehen davon macht die zweite Schleife foreach ($rows as $data) { .. dort eher keinen Sinn.

    Und es fehlt nach wie vor eine textuelle Beschreibung, was Du eigentlich machen willst. :(
     
    #17 b3317133, 14. März 2019
    Zuletzt bearbeitet: 14. März 2019
  18. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Verschmelzen = Zusammenfassen = Aus zwei Objekten eines machen. Bei Arrays nennt man das "mergen". Und ich sage ja Debuggen ist mist! Vorher richtig planen, dann kann man sich diese mühselige Sucherei sparen, vor allem als Aussenstehender, der keinen Bezug hat und überhaupt nicht weiß was eigentlich gewollt ist. Bin auch aus diesem Thread raus, kostet zu viel Zeit.
     
  19. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.317
    Zustimmungen:
    582

    wenn du ein array haben möchtest, kannst du dies bei bei get_results angeben
    https://developer.wordpress.org/reference/classes/wpdb/get_results/

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

    Und bevor du mit foreach auf ein Objekt oder Array zugreifen möchtest, solltest du prüfen, ob es vorhanden ist.

    bei einem Array so:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    mit PHP 7.0 foreach verwendet den internen Arrayzeiger nicht mehr.

    und dies
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ist in deinem Query böse.
     
  20. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Habe es jetzt anders gelöst, vielleicht nicht die Beste Lösung aber es funktioniert einbahnfrei. Und zwar suche ich anhand der postId in der wp_posts nach der Immobilie. daraus mache ich ein Select um den permalink zu bekommen.

    Euch allen großen Dank für die gute Hilfe :)
     
  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