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 <5.0 Loop nach -mit sql möglich?

Dieses Thema im Forum "Konfiguration" wurde erstellt von einfach112, 17. April 2018.

Schlagworte:
  1. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    Hallo zusammen.
    Ich habe hier eine echt harte Nuß.....
    Ich nutze das freie, kostenlose, Template Baskerville
    Auf der Startseite werden wie gewohnt die einzelnen Beiträge aufgelistet und zwar über die index.php des themes:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    und jetzt kommt die frage aller fragen:
    In jedem Beitrag habe ich ein Customfield
    Der Name des Customfield ist "bezeichner" darin z.B. der Wert "Rdkg42 " dieser Wert ist EINZIGARTIG je Artikel

    Allerdings bringt dieser Wert mir nicht wirklich etwas.
    In einer weiteren Tabelle meiner Datenbank namens impfstoff finde ich diesen aber wieder in form von :
    ID | bezeichner | wert
    42 | Rdkg42 | 36.050000

    und wenn genau dieser Wert über 4.0 liegt ..... nur dann soll der Beitrag auf der Startseite erscheinen.

    Ist das überhaupt möglich? Und wenn ja.... Kann mir vielleicht jemand sogar sagen wie?

    Vielen Dank im voraus
    einfach112
     
  2. helix

    helix Well-Known Member

    Registriert seit:
    28. Juli 2011
    Beiträge:
    1.808
    Zustimmungen:
    27
    Schlichte Rück- und Verständnisfrage: Hast du in jedem Beitrag / Artikel ein anderes benutzerdefiniertes Feld / custom field – mit einem anderen Bezeichner? Wenn ja:
    Warum?
    Gibt es jeweils noch andere benutzerdefinierte Felder, oder hat jeder Beitrag eines, nur eben immer ein anderes?

    Normalerweise würde man für das, was du mutmaßlich willst, ein benutzdefiniertes Feld einsetzen, das in jedem Beitrag den selben Bezeichner hat, aber eben immer ein unterschiedlicher Wert eingetragen wird. (Aber vielleicht hast du das ja und habe ich nur deine Frage nicht ganz genau verstanden.)
    In diesem Normalfall: die Query für die Startseite eigen definieren, am besten über den pre_get_posts()-Filter (mit der Abfrage is_main() && is_home()). Im Codex in der Referenz für WP_Query stehen ganz viele Beispiele, auch wie man nach benutzerdefiniertem Feld filtern kann.

    Gruß
    helix
     
  3. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    Oh sorry.... das customfield heisst immer gleich in jedem beitrag... nur der inhalt ist halt immer anders
     
  4. helix

    helix Well-Known Member

    Registriert seit:
    28. Juli 2011
    Beiträge:
    1.808
    Zustimmungen:
    27
    Ja, dann ist es machbar, eigentlich auch einfach und überschaubar. Einfach den Hinweisen nach dem „normalerweise“ folgen. Wenn du wo nicht weiterkommst, kannst du ja nochmal fragen.

    Ich hoffe, du arbeitest in einem Child-Theme?

    Gruß
    helix
     
  5. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    Mmmh ok wenn ich jetzt nur nach dem inhahalt des custom fields sortieren lassen möchte..... dann könnte ich das .... aber ich muss ja nachdem ich danach sortiert habe noch in der anderen tabelle schauen ob der wert über 4 ist.... das ist das problem was ich habe...
     
  6. helix

    helix Well-Known Member

    Registriert seit:
    28. Juli 2011
    Beiträge:
    1.808
    Zustimmungen:
    27
    Lesen?
    In der verlinkten Referenz zu WP_Query unter 5.14 Custom Field Parameters:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Gruß
    helix
     
  7. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    Hallo Helix
    Vielen Dank für deine bisherige Unterstützung.

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

    dein o.g. Code würde funktionieren wenn ich einen Beitrag schreiben würde und ein Customfield namens number hätte und ich dort für jeden Beitrag eine Zahl eintragen würde.

    Mein Problem ist leider das in diesem Customfield selber überhaupt keine Zahl steht. Dort steht z.B. nur :

    Rdkg42

    Anhand dieses Key könnte ich allerdings den Wert aus einer anderen Tabelle meiner Datenbank auslesen.

    Ich habe in der mysql Datenbank eine Tabelle Namens impfstoffe. dort kann ich nach Rdkg42 suchen und dort steht dann der wert der eventuell über oder unter 4.0 ist.

    Mein Problem ist also das ich nach dem auslesen des Customfields erst den zugehörigen Wert in einer andreren Tabelle auselsen müsste.

    Leider gibt es keine Möglichkeit dir das genau zu zeigen im Lifemodus oder ähnlich.....
    Ich versuche es aber gleich mal zu Zeichnen... vielleicht ist das einfacher für mich zu erklären.....
     
  8. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
  9. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.634
    Zustimmungen:
    1.778
    Verwende den o.g. Ansatz i.v.m. einem passenden posts_where Filter. Dafür sollte man sich etwas mit WordPress und PHP auskennen bzw. die Dokumenation genau lesen, eine einfache Copy & Paste Lösung ist da anhand der bisher bekannten Eckdaten eher nicht sinnvoll möglich.
     
  10. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    Hallo Helix und hallo b3317133
    Danke für eure Antworten. Als angehender Systemintegrator mag ich ja programmiersprachen überhaupt nicht..... allerdings behaupte ich mal das ich php und mysql zumindest grundsätzlich verstehe auch wenn ich es selber nicht so ausm kopif schreiben kann LOL
    Also o.g. Seiten habe ich jetzt schon mehrfach gelesen...
    Aber das Hauptproblem ist ehr das ich mich zu entweder total falsch ausdrücke oder einfach zu umständlich?

    Grundsätzlich funktioniert das mit den Custom fields bei mir ja !
    Also wenn ich im Beitrag in mein Customfield namens "bezeicher" den wert abc eintrage ....
    und dann später
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    nutze ... wird mir nur dieser Beitrag angezeigt bzw. alle Beiträge wo ich bei bezeichner abc eingetragen habe ......

    OK ! DAS GEHT ..... ABER jetzt kommt ja erst das Problem......

    Hauptsächlich wird ja mit den o.g. Typen in der Tabelle wp_postmeta gearbeitet .......

    jetzt muss allerdings noch eine Verbindung geschaffen werden.

    in der Wordpress Datenbank existiert eine von mir erstelle Tabelle. Die Tabelle heisst "impstoff"

    in dieser Tabelle steht ebenfalls in einer spalte der bezeichner "abc" und in dieser Zeile wo der bezeichner "abc" vorkommt gibt es auch eine spalte namens Wert .... z.B. 4,7

    (Aufbau der tabelle Impfstoff,
    ID | bezeichner | wert
    4 | abc | 4,7
    Es kann zu jederzeit sich in meiner selbst erstellen Tabelle der wert von abc ändern.

    Jetzt würde ich gerne sagen .... zeige mir alles Beiträge an wo der wert => 4,7 ist.

    das würde ja gehen mit
    'meta_compare' => '>'

    allerdings habe ich bei wordpress keine beziehung zwischen bezeichner und wert .... und kann somit nicht sagen welchen wert abc hat.

    es gibt ja bei wordpress so parameter wie : $post_id
    diese Variable ist immer fest vergeben. Ich müsste es jetzt irgendwie schaffen das wenn ich z.B. $wert benutzte das darin immer der passende wert hinterlegt ist?!


    Habe ich mich eventuell diesmal besser ausgedrückt?
    Danke im voraus
    einfach112
     
  11. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.634
    Zustimmungen:
    1.778
    Bei den WordPress Custom Fields wird meta_key mit meta_value anhand meta_compare verglichen. Das betrifft die Tabelle wp_postmeta.

    Wenn Du eine andere, eigene Tabelle mit in die Abfrage einbeziehen willst, gibt es dafür den o.g. posts_where Filter.

    Entweder man kombiniert nun beide Ansätze, oder man setzt alle Bedingungen in den posts_where Filter.

    Also Doku lesen, testen, basteln, wenn es dann zu dem von Dir entwickelten Code Fragen gibt, diese inkl. Code gern hier stellen. Falls gar keine Programmierkenntnisse vorhanden sind, gibt es noch die Jobbörse hier im Forum.
     
  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