Abfrage für Seiten langsam?

  • Ich hab etwas am Code geschraubt und eine Datei mit Alternativfunktionen erstellt (stelle ich demnächst zum testen online). Dabei viel mir auf, dass die Seiten immer komplett abgefragt mit "SELECT * FROM $wpdb->posts " ... werden:

    function &get_pages($args = '') in template-functions-post.php

    Für die Navigationsliste wp_list_pages() ist das absolut übertrieben, da wird normalerweise nur die ID, der Titel und der Name gebraucht. Ich hab den Verdacht, dass deswegen einige Auftritte in die Knie gehen, wenn Wordpress mit viele Seiten als CMS gebraucht wird.

    In meinen Hacks will ich dafür eine neue Abfrage schreiben, es braucht aber noch etwas.

    • 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

  • jo das ist mir auch aufgefallen, als ich das Plugin navigo um eine Cachefunktion erweitert habe und ich mich gewundert habe warum die Cachefiles so groß sind.

    meine Abfrage schaut so aus:

    PHP
    $includedPages = get_option('nav_included_pages');
        if(count($includedPages)) $inclusions = "AND p.ID IN (" . implode(",", $includedPages) . ")";
        $pages = $wpdb->fetch("SELECT p2l.post_id, p.ID, p.post_title, p.post_status, p.post_name, p.post_parent, p.menu_order, p2m.meta_key, p2m.meta_value " .
            "FROM $gengo->post2lang_table p2l INNER JOIN $wpdb->posts p ON (p.ID = p2l.post_id) LEFT JOIN $wpdb->postmeta p2m ON (p2m.post_id = p2l.post_id AND p2m.meta_key = 'hover_title') " .
            "WHERE ($where AND p.post_status = 'static' $inclusions ) " .
            "$exclusions " .
            "ORDER BY " . $r['sort_column'] . " " . $r['sort_order']);

    und untersützt gengo, hover_title und die Angabe der gewünschten Seiten für die Navigation. Damit bin ich der CMS Nutzung einen Schritt näher gekommen.

  • Ich hab eine ganze Reihe von Funktionen überarbeitet, darunter auch wp_list_pages(). Die Datei ist so angelegt, dass die Funktionen mit dem Prefix ext_ im Theme ersetzt werden können, ohne etwas an WP selbst zu ändern. Ziel war eigendlich, ein paar redundate Links und title-Texte wegzubekommen, um den Auftritt barrierefreier zu machen. Aber wenn man einmal anfängt ...

    Für Interessierte: http://cmsblog.msdazu.de/replacedFunctions.zip

Jetzt mitmachen!

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