Suchfeld Kategorien ausschließen

  • Hallo,

    ich möchte viele und bestimmte Kategorien aus der Suche ausschließen, jedoch klappt es nicht. Diesen Code habe ich zum Test in die functions.php geschrieben. Ich weiß, besser wäre eine Child-Theme zu erstellen, das kommt noch nach erfolgreicher Umsetzung.

    /* SEITEN VON DER WORDPRESS-SUCHE AUSSCHLIESSEN */

    function js_search_filter( $query ) {
    if ( $query->is_search ) {
    $query->set('cat','-449,-450,-483,-447,-491');
    }
    return $query;
    }

    add_action( 'pre_get_posts', 'js_search_filter' );

    /* SEITEN VON DER WORDPRESS-SUCHE AUSSCHLIESSEN */

    Ist der Code so korrekt?

    Viele Grüße,
    Tony

    • 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

  • Ja, passt. Ich würde noch ergänzen, dass der Ausschluss nicht im Admin-Bereich gilt. Also:

    Code
    function js_search_filter( $query ) {
     if ( $query->is_search && !is_admin() ) {
      $query->set('cat','-449,-450,-483,-447,-491');
     }
     return $query;
    }
    add_action( 'pre_get_posts', 'js_search_filter' );
  • Danke an alle zusammen, leider funktioniert es nicht. In der Suche sind immer noch die Produkte in der ausgeschlossenen Kategorien zu finden.

    Verwechsel ich was!?
    Es geht um die Produkte in der Kategorie und die sollen ausgeschlossen werden. Nicht, dass mit dem Code nur die Kategorie gemeint ist!

    Viele Grüße,
    Tony

  • Du hast bisher nicht erwähnt, dass es um "Produkte" geht. Vermutlich nutzt Du WooCommerce als Plugin für die Abbildung der Produkte? Solche Infos sind relevant wenn man dir helfen soll. Ein Link zur Seite, wie in den Forenregeln Punkt 2 beschrieben, hätte es ermöglicht deine Frage schon vor Stunden beantworten zu können.

  • Ja genau, sorry.. Ja, es geht um WooCommerce. Derzeit ist die nur für Admins zugänglich und nicht öffentlich zu besuchen (Maintenance Mode). Gerne würde ich dir die online zeigen, das geht leider nur als Admin. Gibt es eine bestimmte Möglichkeit diese ohne Admin-Account zu zeigen?

  • Vielen Dank für deine Hilfe. Morgen probiere ich den Code aus und werde mich umgehend melden. Ist denn dieser Bereich der Ausschluss (99):

    add_action( 'pre_get_posts', 'remove_categories_from_search_results',99 );

    Viele Grüße,
    Tony

  • Moin. Könntest du mir bitte genau sagen, welchen Code oder welche zusammengefügt werden sollen? Ich bin etwas verwirrt. Es geht darum, das bei der Suche die Kategorien inkl. deren Inhalt (die ich selber einfügen werde) ausgeschlossen werden. Die Kategorien die unter WooCommerce->Kategorien erstellt wurden sowie die Produkte in dieser Kategorie eingefügt worden sind.

    Erklärung: Ich suche in Kategorien A: XY Schuhe. Ich möchte die Kategorien A komplett deaktivieren, damit alle XY Schuhe in der Suche auf der gesamten Seite nicht zu finden sind.

    Ich hoffe das es so gut beschrieben ist :D

    Viele Grüße und Dankeschön für deine Unterstützung

  • Der einzige Code der in dem verlinkten Thema enthalten ist:

    Bei

    Code
    'terms'   => array('food'),

    musst Du die Slugs der Kategorien eintragen die Du von der Suche ausschließen willst. Der Slug wird dir bei der Kategorie-Übersicht angezeigt. Wenn deine Kategorie "Schuhe" heißt dürfte der Slug vermutlich "schuhe" sein. Also:

    Code
    'terms'   => array('schuhe'),

    Wenn Du weitere Kategorien ausschließen willst, musst Du diese in der Liste ergänzen. Beispiel:

    Code
    'terms'   => array('schuhe', 'zweiterSlug', 'dritterSlug'),

    Solltest Du das weiterhin nicht hinbekommen, würde ich dir nahelegen jemanden zu suchen der das für dich umsetzen kann. Dafür steht hier eine Jobbörse zur Verfügung.

Jetzt mitmachen!

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