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

Eigene Auslesung macht Endlosschleife

Dieses Thema im Forum "Konfiguration" wurde erstellt von hoersie85, 17. Dezember 2018.

  1. hoersie85

    hoersie85 Member

    Registriert seit:
    8. März 2018
    Beiträge:
    6
    Zustimmungen:
    0
    Moin zusammen,

    ich habe unter: https://rikerandom.de/nerdy/how-to/rezensionsindex-part-4/
    eine Anleitung gefunden für einen Index mit dem man beispielsweise Rezensionen zu Büchern nach Buchautoren sortiert anzeigen lassen können soll. Dazu habe ich ein Seitentemplate erstellt.

    Ich habe die Funktion soweit hinbekommen, dass der Index angezeigt wird und zu den Buchstaben auch mittels Anker gesprungen wird. Nun sollen alle Artikel ausgelesen werden, die als benutzerdefinierte Felder einen Buchautor haben. (Aktuell zu Testzwecken 2 Artikel) Die Auslesung funktioniert. Es werden beide Artikel bei Ihren Buchstaben angezeigt.

    Jetzt kommen wir zu dem was nicht funktioniert. Wenn Ihr auf http://blog.hoerske.de/rezensionsindex/
    schaut, dann seht Ihr, dass der Loop für jeden Buchstaben des Alphabets eine neue Reihe an Buchstaben auf macht. Also läuft der Loop irgendwie unkontrolliert.

    Hier zu nächst mein Code für den Index:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Dann kommt die Auslesung mit dem ersten Buchstaben A:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Jeder weitere Buchstabe sieht so aus:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Der Schluss des Skriptes endet mit dem Buchstaben Z:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Habt Ihr eine Ahnung wo der Fehler liegen könnte? Ich sehe den Wald vor lauter Bäumen nicht.
    Ich danke euch...
    Timo
     
  2. Azrael_0815

    Azrael_0815 Well-Known Member

    Registriert seit:
    7. Juli 2015
    Beiträge:
    591
    Zustimmungen:
    35
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    sollte IMHO sein
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und

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

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    sein. Hier passiert keine Endlosschleife, da Ding bricht wegen Syntax-Error ab :)
     
  3. hoersie85

    hoersie85 Member

    Registriert seit:
    8. März 2018
    Beiträge:
    6
    Zustimmungen:
    0
    Danke für die Hinweis. Ändere ich dir "Anführungsstriche" bekomme ich eine weiße Seite...
     
  4. Azrael_0815

    Azrael_0815 Well-Known Member

    Registriert seit:
    7. Juli 2015
    Beiträge:
    591
    Zustimmungen:
    35
    Dann hast Du noch mehr Fehler drin oder es falsch eingebaut :) PHP kennt kein oben/unten bei Anführungsstrichen.
     
    hoersie85 gefällt das.
  5. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.658
    Zustimmungen:
    1.781
    Neben den bereits genannten falschen "single quotes" und vorausgesetzt, der restliche Code funktioniert, sollte es pro Buchstabe wohl eher so in der Art aussehen:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wenn der entspr. Buchstabe in der Loop nicht vorkommt, wird dann allerdings auch keine "Ansprungstelle" erstellt.

    Weiterhin fehlen bei get_post_meta($post->ID, 'buchautor', true); und bei den if ($this_letter == 'A') Abfragen die Anführungszeichen.
     
    #5 b3317133, 17. Dezember 2018
    Zuletzt bearbeitet: 17. Dezember 2018
    hoersie85 und Azrael_0815 gefällt das.
  6. hoersie85

    hoersie85 Member

    Registriert seit:
    8. März 2018
    Beiträge:
    6
    Zustimmungen:
    0
    Ich habe das jetzt mal komplett so übernommen, wie ihr es geschrieben habt:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Nun bekomme ich eine wieder eine weiße Seite, also gar nichts mehr angezeigt...
     
  7. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Bis auf die Tatsache, dass Du einige Syntaxfehler hast und viel zu viel redundanten Code in einer viel zu großen Abfrage, macht er genau das was Du programmiert hast. Wenn schon, dann müssten Deine H3 Überschriften, also die Einzelbuchstaben, hinter die IF Abfrage. Die IF Abfrage muss Strings vergleichen, also gehören die Buchstaben in Anführungszeichen. Zudem wiederholt man nicht für jeden Buchstaben die IF Abfrage und Ausgabe. Und einiges ergibt gar keinen Sinn (woher kommt $post, was ist das für ein post_type, wieso steht ein Titel in einer Metainfo usw.).

    Lösungsansatz:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    hoersie85 und Azrael_0815 gefällt das.
  8. hoersie85

    hoersie85 Member

    Registriert seit:
    8. März 2018
    Beiträge:
    6
    Zustimmungen:
    0
    Danke an Alle für die bisherigen Antworten. Irgendwie bekomme ich es noch nicht so richtig hin.

    Zu euren Fragen: Ich habe mich an den oben genannten Link und die Anleitung darin gehalten. Wenn es einen anderen Weg gibt, dies umzusetzen dann gerne.

    Der Buchtitel steht in den benutzerdefinierten Feldern, weil ich meine Artikel nicht umschreiben möchte und nicht alle Rezensionen im Titel Autor und Buchtitel in der gleichen Art und Weise enthalten. Daher wollte ich es gerne über die benutzerdefinierten Felder lösen.

    Die Anführungsstriche und auch die <h3> hinter den if, haben nur zu einer weißen Seite geführt.

    @mensmaximu wie und wo müsste ich deinen Lösungsteil einfügen. Ich habe es jetzt in einigen Varianten probiert, komme aber über eine weiße Seite nicht hinaus.

    Hier mal das komplette Seitentemplate entfernt um den nicht funktionierenden Auslesebereich aber noch mit dem Index. Als Vorlage habe ich für das Seitentemplate, dass originale vom Theme Merlin Pro genommen:

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

    hoersie85 Member

    Registriert seit:
    8. März 2018
    Beiträge:
    6
    Zustimmungen:
    0
    So für euch zur Rückmeldung und falls wer anderes ebenfalls so eine Herrausforderung hat, nach langem probieren und hin und her:

    Ich habe ausgehend von der ursprünglichen Konfiguration ganz oben nur die if Abfrage über die h3 Überschrift gesetzt und darin den Buchstaben in ' ' . Jetzt funktioniert alles. Die restlichen Anführungsstriche habe ich belassen. Sobald ich diese auch auf ' ' geändert hatte, war nur eine weiße Seite zu sehen. Ich habe keine Ahnung warum es so funktioniert... Danke euch allen für die 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