Suche funktioniert nach Update auf 2.0.6 nicht mehr

  • Hallo!

    Nach dem Update auf WP 2.0.6 geht auf eine meiner Seite (Wordpress als CMS genutzt, mit Plugin SearchPages) meine Suche nicht mehr. Er findet keine einzige Seite. Ein Austauschen des Plugins gegen z.B. SearchEverything hat nicht geholfen. Backup ist gemacht, ich könnte also wieder downgraden, aber das ist ja nicht Sinn der Sache.
    Hat jemand eine Idee woran das liegen könnte? Hat jemand ähnliche Probleme?

    Hier die betreffende Seite: http://www.lag-film-sh.de/

    Danke für jeden Hinweis und beste Grüße!
    Zodiac

    "Es ist keine Schande nichts zu wissen wohl aber, nichts lernen zu wollen." - Sokrates

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Das gleiche Problem habe ich auch schon festgestellt. Anscheinend hat sich da was an den Schnittstellen geändert.

    Ich darf Dir -- zumindest übergangsweise -- mein Plugin Advanced Search empfehlen, das funktioniert nach wie vor. Es ist zwar kein direkter Ersatz für Search Pages bzw. Search Everything, aber es vermittelt zumindest die Möglichkeit, in Seiten und Kommentaren zu suchen.

    Die Sache mit Search Pages schaue ich mir bei Gelegenheit mal an, denn das brauche ich parallel zur Erweiterten Suche auch.

  • Ich habe die Lösung:

    classes.php / Zeile 603 / Wordpress 2.0.5

    PHP
    $where .= ' AND (post_status = "publish"';

    search_pages.php, Zeile 14

    PHP
    $where = str_replace(' AND (post_status = "publish"', ' AND ((post_status = "static" or post_status = "publish")', $where);

    So kann er natürlich ersetzen, aber in:

    clases.php / Zeile 607 / Wordpress 2.0.6

    PHP
    $where .= " AND (post_status = 'publish'";

    daher muss es nun so lauten:

    PHP
    $where = str_replace(" AND (post_status = 'publish'", " AND ((post_status = 'static' or post_status = 'publish')", $where);


    Suche funktioniert wieder!

    mastermind: Dein Plugin werde ich mir trotzdem mal genauer anschauen ... ;-)

    "Es ist keine Schande nichts zu wissen wohl aber, nichts lernen zu wollen." - Sokrates

  • Der Teufel steckt im Detail. Beachte mal die Anführungszeichen ...

    "Es ist keine Schande nichts zu wissen wohl aber, nichts lernen zu wollen." - Sokrates

  • Tatsache, so klappt das auch.

    Da wir schonmal beim Thema search_pages.php sind: Das Plugin enthält eine kleine Sicherheitslücke, mittels derer ein normalsterblicher Besucher geschützte Beiträge lesen kann.

    Man sollte in dem Plugin daher das hier (den zweiten Parameter beim Aufruf von str_replace)

    PHP
    ' AND ((post_status = "static" or post_status = "publish")'

    in dieses

    PHP
    ' AND ((post_password = "" AND (post_status = "static" OR post_status = "publish"))'

    ändern.

    Wollte das nur nochmal anmerken, sowas kann man ja nicht oft genug sagen. Zumal auf der Seite des Autors immer noch die fehlerhafte Version steht.

    Einmal editiert, zuletzt von mastermind (9. Januar 2007 um 14:14)

  • Zitat

    Zumal auf der Seite des Autors immer noch die fehlerhafte Version steht.

    Ja, David habe ich deshalb auch gerade eine E-Mail geschrieben ...

    Danke für den Hinweis mit der Sicherheitslücke!

    Aber müsste es nicht so heissen (schon wieder diese Anführungszeichen ...)

    PHP
    " AND ((post_password = '' AND (post_status = 'static' OR post_status = 'publish'))"

    "Es ist keine Schande nichts zu wissen wohl aber, nichts lernen zu wollen." - Sokrates

    Einmal editiert, zuletzt von Zodiac (9. Januar 2007 um 14:26)

  • Nö, das ist eigentlich egal. Solange man alle Anführungszeichen, die man selbst geöffnet hat, auch wieder schließt. MySQL ist ziemlich wurscht, ob Anführungszeichen einfach oder doppelt sind.

  • Klar, "str_replace" muss natürlich genau matchen. Für die Anfrage selbst ist '=" - das macht Sinn.

    Aber irgendwas ist da bei meiner Suche noch defekt. Die Pages werden jetzt gefunden, aber die Posts immer noch nicht. Aber da ich Wordpress als CMS "missbraucht" habe und die Posts alle Seminare sind, kann das auch am EventCalendar liegen. Da werde ich nochmal weitersuchen müssen ...[COLOR=#000000][COLOR=#006600]
    [/COLOR][/COLOR]

    "Es ist keine Schande nichts zu wissen wohl aber, nichts lernen zu wollen." - Sokrates

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!