Problem mit Seitenanzeige in der Sidebar und auf Seiten...

  • Hallo Ihrs,

    also in den Titel passte jetzt mal leider absolut nicht mein ganzen Problem rein. Ich habe mich auch schon den Abend zu tode gesucht aber nicht genau das gefunden hier im Forum was ich brauche.

    Ich hoffe ich erkläre es so, dass ihr es verstehen könnt.

    Ich habe eine Seite -> Spiele für die Jugendarbeit
    Welche die Untergeordnete Seite -> Kennenlernspiele hat
    Diese Untergeordnete Seite besitzt wieder untergeordnete Seiten für jedes Spiel. Also jedes Spiel ist eine eigene Seite.

    Nun möchte ich gerne etwas Dynamisch sein. In Kennenlernspiele sollen die Links zu allen Untergeordneten Seiten von Kennenlernspiele aufgelistet werden, eben als Links zum Anklicken.

    Das ist ja auch garkein Problem. Man kann ja ein neues Template machen und da eben dem Dingens sagen: Liste mal alle auf!

    Das Problem ist: Ich habe das Plugin: Page Link Manager Installiert.
    Damit es für mich einfacher ist die ungewollten Seiten auszublenden.
    Nun dieses Plugin führt leider dazu, dass die Seiten, welche ich ausgeblendet haben (z.B. die ganzen Untergeordneten Seiten von Kennenlernspiele) auch nicht mehr bei Kennenlernspiele aufgelistet werden.

    Gibt es eine Möglichkeit, dass sie in der Sidebar unter Seiten nicht aufgelistet werden, aber bei Kennenlernspiele ?

    Ich weiß nicht obs wichtig ist, aber ich benutze nicht das Sidebar Template sondern die Widgets, welche so wie ich eindeutig festgestellt habe diese Datei ersetzt irgendwie *g*

    Hoffe ich konnte es so erklären, dass ihr es versteht und mir kann irgendwer helfen. Beschäftigt mich schon den ganzen Tag und ich möchte euch nicht ständig alles selbst auf den neusten Stand bringen müssen. Also da mal einen Link einfügen, dann da auch noch... ihr wisst was ich meine.

    Ciaoi,
    Ryciel

    • 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

  • Ich hab mal kurz ins Plugin reingeschaut. Es funktioniert, in dem es per WP-Hook die Query für wp_list_pages ändert. Genauer gesagt fügt es die konfigurierten Seiten dieser Query immer als exclude-Parameter an. Außer mit Trickserei oder einer eigenen manuellen Query wüsste ich nicht, wie Du das umgehen könntest. :-/

    Andere Idee: Brauchst Du das Plugin wirklich, um spezielle Seiten auszublenden im Menü, oder willst Du nur alle Seiten einer bestimmten Ebene ausblenden? Falls Du z.B. einfach nur alle Seiten der ersten und zweiten Ebene listen willst, wäre der ab WP 2.5 (?) neue Parameter "depth" an der wp_list_pages-Funktion für Dich richtig. Falls das im Widget nicht standardmäßig angeboten wird, kann man das recht einfach überschreiben. Sag mal Bescheid, ob das eher eine Lösung wäre, dann kann ich da auch näher ins Detail gehen.

  • Hallo,

    es hat doch jemand meine beschreibung verstanden, da bin ich schonmal echt froh :-)

    Also die andere Idee ist garnicht so schlecht, wenn ich wüsste, wie man sie anbringen kann.
    Das Plugin brauch ich nicht umbedingt. Habe nur extrem viele Untergeordnete Seiten, die alle NICHT angezeigt werden sollen in meiner Sidebar. Habe aber nur drei "Hauptseiten" also erste Ebene, welche angezeigt werden sollen, dass sind 3 Stück. Ich habe mir dieses Plugin nur geladen, da ich es leid war bei dem Widget immer jede einzelne Seiten ID einzutragen, so wie man es ja auch machen könnte. Dazu war ich zu Faul, also per Plugin.

    Ich müsste ja das Seiten Widget ändern, oder? AUch wenn ich noch kein Plan habe wie. Und dem könnte ich sagen: Zeig mir bitte nur noch Seiten der ersten Ebene an? Somit müsste ich, wenn ich mir eine neue Kategorie anlege dierestlichen Seiten, die ich da brauche bekommen?

    Hoffe man versteht wieder was ich meine *g*
    Ist nicht immer so einfach per Forum solche Dinge zu klären.

    Edit: http://www.mylifewithgod.de
    Damit es vielleicht einfacher zu verstehen ist und man sieht was ich meine. Bestes beispiel da, weil ich es schon umgebaut habe: Spiele für die Jugendarbeit.

    Gruß
    Ryciel

  • Ok, ich hab mich mal dran probiert, das Standard-Pages-Widget zu überschreiben. Bitte das folgende in die functions.php Deines Themes schreiben:

    Damit wird in den Kontrollen des Widgets der neue Parameter "Depth" eingefügt und das Widget wertet das für die Query mit aus. Mit depth=1 sollten nur die Seiten der ersten Ebene angezeigt werden usw.

    Du solltest hin und wieder mal schauen, ob das vielleicht auch im WordPress-Kern ergänzt wurde. Dann wäre es natürlich überflüssig, das Standard-Widget zu überschreiben. Wenn Du beide Varianten zur Auswahl haben willst, müssten die letzten Zeilen so lauten:

    PHP
    $widget_ops = array('classname' => 'widget_pages', 'description' => __( "Your blog's WordPress Pages") );
        wp_register_sidebar_widget('my_pages', __('My Pages'), 'my_wp_widget_pages', $widget_ops);
        wp_register_widget_control('my_pages', __('My Pages'), 'my_wp_widget_pages_control' );

    Und Achtung: Das ist alles ungetestet! Bitte ggf. lokal an einer Testumgebung ausprobieren, ob es so wirklich funktioniert.

    Einmal editiert, zuletzt von Ammaletu (4. Oktober 2008 um 19:32)

  • Hallo,

    also ich habe den Quellcode mal eingefügt und als Deph: 1 eingegeben. Auf der Hauptseite werden trotzdem leider noch alle Seiten angezeigt und nicht nur die "Hauptseiten"

    Danke trotzdem für deine Mühe !!!

    Edit: Vllt. nochmal zum genauen Ablauf: Hab den Quellcode geändert und dann das Plugin deaktiviert. Prompt waren wieder alle Seiten da.

    Ciao,
    Ryciel

    Einmal editiert, zuletzt von Ryciel (4. Oktober 2008 um 16:03)

  • Sorry, ich hatte mich bei einem Funktionsnamen vertippt. Mach mal bitte aus "function my_wp__widget_pages( $args ) {" das hier: "function my_wp_widget_pages( $args ) {". Oder kopier es Dir oben noch mal neu raus, habe es da auch korrigiert. Damit sollte es gehen, habe es gerade lokal getestet. Wenn Du den depth-Wert in der Widget-Verwaltung einträgst, nicht auf "Änderungen speichern" zu klicken vergessen.

  • Ah cool :-)
    Danke, funktioniert wunderbar. Aller herzlichsten Dank!
    Nun muss ich mir nur noch die Templates anlegen, aber ich denke, dass sollte das kleinere übel sein ist ja auch diese funktion nur mit anderer Deph und was man noch so ändern kann *g*.

    Super Dank!

    LG
    Ryciel

Jetzt mitmachen!

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