Suche Filtern: Nur "Enkel" anzeigen

  • Hey Leute,

    ich hoffe, es gibt unter euch noch ein paar Nachteulen, die mir hierbei weiterhelfen können: Ich möchte gern die Suchergebnisse von meiner Wordpressseite filtern, sodass nur die "Enkel" einer bestimmten Seite angezeigte werden. Leider hat alles, was ich bisher ausprobiert/ gefunden habe, nicht geklappt. Vielleicht übersehe ich aber nur eine Kleinigkeit. Bitte helft mir. (Falls sich meine Anfrage nur/ auch mit einem bestimmten PlugIn lösen lässt --> bitte gerne || Falls die Lösung schon behandelt wurde lass ich mich gerne dahin verweisen, weil ich selbst nicht fündig geworden bin)


    Folgendes habe ich bisher in meiner function.php stehen, was mir aber nur die Suche bei den "Kindern" ermöglicht.

    PHP
    function SearchFilter($query) {
    if ($query->is_search) {
        $query->set( 'post_parent', 30 );
    }
    return $query;
    }
    add_filter('pre_get_posts','SearchFilter');

    Mit den folgenden Alternativen (ich liste einfach alle Childs/ Kinder auf), die ich im Internet gefunden (und angepasst) habe, scheint es nicht zu funktionieren:

    PHP
    $query->set( 'post_parent', '111, 93' );
    
    
    
    
    $query->set( 'post_parent', array(111, 93) );

    Ich bedanke mich schon einmal im Voraus für jede hilfreiche Antwort :) und bitte um Verzeihung für meine Noob-Haftigkeit.

    • 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

  • dein versuch wird nicht klappen da post_parent nur einen Parameter wünscht (INT) => ID der Post und filter damit alle Childs raus
    mit get_post_ancestors zb kannst die Child IDs einer Post auslesen und diese dann als Array per zb post_in an der Query abfragen lassen, dann hast du (vermutlich, nicht getestet) alle Enkerl,
    ich hoffe du hast dir dazu die codex.wordpress.org schon gelesen, dort steht alles (inkl der Variationen und Lösungen) dafür drin.

    Wordpress weil es spass macht, besonders beim WordPress Meetup in Linz

  • Hallo Shadow,
    du bist wie immer äußerst hilfsbereit. Vielen Dank dafür :)
    Mir war bewusst, dass post_parent einen einzigen Integer verlangt, aber irgendwie stürzten mich alle gegoogelten Lösungsvorschläge gestern abend in eine tiefe Sinneskrise und da dachte ich mir: Meld dich mal einfach an und frag. :-D An post__in oder post_parent__in hatte ich auch schon gedacht, funktionierte aber nicht so wie ich das wollte oder wird von meiner WP Version nicht unterstützt. (Ich soll 3.5 verwenden :-?).
    Wie dem auch sei, diskutieren wir das nicht weiter.

    Heute frisch, munter und durch deine Antwort neu motiviert habe ich eine Lösung "geschrieben". Sie ist möglicherweise nicht ganz das, was du mir mitteilen wolltest und sicher viel zu umständlich, aber sie liefert das, was ich haben will.

    Optimierungs- oder bessere Vorschläge sowie Warnmeldung wegen fatalen Fehlern nehme ich gerne entgegen, ansonsten poste ich hier mal den Code für andere Unwissende, die sich vielleicht ebenfalls die oben genannte Frage stellen bzw. warum auch immer danach suchen.

    In der function.php meines Child-themes:

    Viele Grüße, Lord Helmiii

    Einmal editiert, zuletzt von Lordhelmiii (16. Februar 2014 um 19:02)

Jetzt mitmachen!

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