Shortcode funktioniert nicht in Suchausgabe

  • Ich habe ein Plugin geschrieben, um zu erreichen, dass durch eingabe von [shy] eine Silbentrennung an dieser Stelle im Titel eines Beitrages eingefügt wird.

    Code
    add_filter('widget_text', 'do_shortcode');
    
    
    function shy_shortcode_output() {
        return '­';
    }
    add_shortcode('shy', 'shy_shortcode_output');
    ?>

    Das funktioniert auch soweit, aber leider nicht in der Suche.
    Wenn man mit der Wordporess-Suche Beiträge sucht, werden die Titel dann so ausgegeben
    HierStehtDer[shy]Titel. Der [shy] Shortcode wird also irgnoriert.

    Was mache ich falsch? Was fehlt?

    Wordpress Version 6.6.2
    Theme Elementor Hello

    • 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 liegt wahrscheinlich daran, dass du do_shortcode nur auf den widget_text angewendet hast. du müsstest ihn ausserdem auf the_title anwenden oder was immer bei dir in betracht kommt. hier mal eine potentielle nicht vollständige liste:

    Code
    // Shortcode in verschiedenen Kontexten aktivieren
    add_filter('widget_text', 'do_shortcode');
    add_filter('the_title', 'do_shortcode');
    add_filter('get_the_title', 'do_shortcode');
    add_filter('single_post_title', 'do_shortcode');
    add_filter('the_search_query', 'do_shortcode');

    nein, ich gebe keinen support per pm. wenn du ein problem hast, stelle eine öffentliche frage ins forum.

  • @DummyGirl: Super danke, genau das war es!

    Ich hab mir ja sowas gedacht, aber irgendwie war ich zu doof den Filter 'the_search_query', alleine zu finden.

    Vielen Dank, jetzt funktioniert es.

Jetzt mitmachen!

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