Seiten mit Tags versehen (aber ohne Plugin)

  • Hallo Forum,

    ich verzweifle hier gerade an einem kleinen Wordpress-Problem.

    Ziel ist es, auf einer meiner WP-Installationen ein Glossar anzubieten. Dafür nutze ich im Moment eine Kombination aus einer Seite und Unterseiten. Diese werden dann mithilfe des Plugins AZIndex ausgelesen und dem Index auf der obersten Seite in dieser Hierachie hinzugefügt.

    Damit das ganze klappt - und nicht alle Seiten indiziert werden - muss ich die Unterseiten mit einem Tag versehen (in diesem Fall "Glossar", da es sonst nirgendwo Verwendung findet).

    Von Hause aus kann Wordpress ja Seiten nicht mit Tags versehen (warum eigentlich nicht?) und ich bin gezwungen das Plugin "Simple Tags" zu verwenden.

    Warum gezwungen? Ich halte meine Seiten eigentlich immer gerne sehr schlank und mache mich ebenfalls ungerne von Plugins abhängig, die vielleicht irgendwann einmal nicht mehr gepflegt werden.

    Des weiteren nervt mich bei "Simple Tags", dass ich davon quasi nur 0,01% der Funktionen nutze - das Taggen von Seiten. Der Rest wird nicht genutzt und ist auch eigentlich unerwünscht - Stichwort: unerwünschte Seiteneffekte mit anderen Funktionen.

    Daher jetzt meine Frage: Wie bringe ich einer normalen Wordpress-Installation es bei, dass ich auch Seiten taggen kann?

    Das kann doch nicht so schwer sein und ich bin mir sicher, dass man dafür nur an der richtigen Stelle im Quellcode was ändern muss.

    PHP, Java, Javascript-Kenntnisse sind wahrlich vorhanden, trotzdem finde ich keinen Ansatz.

    Gibt es vielleicht eine Möglichkeit, den Seiten später per phpmyadmin oder ähnlichen Tools die Tags beizubringen? Wäre für mich auch praktikabel, da das Glossar nicht 100.000 von Einträgen haben wird.

    Danke für Eure Hilfe :)

    See ya, Maic.

    P.S: Das Plugin Tag4Pages wird ja nicht mehr gepflegt, wäre aber genau das richtige gewesen ...

    • 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

  • Hi,

    danke für den Tipp mit dem Page-Tagger. Das schaue ich mir jetzt gleich sofort einmal an.

    Zumindest scheint dieses Plugin gut gepflegt zu werden, da der Autor Kompatibilität bis zu Version 3.2.1 angibt. Prima.

    ---

    Was ich viel interessanter finde, das ich in der ganzen MySQL-DB nirgendwo einen Ansatz finde ...

    Und das mir, dabei mache ich das schon ein paar Jahre :(

    See ya, Maic.

  • Das Problem mit Tags kenne ich seit paar Tagen auch und diesen ganzen Weg bin auch durchgegangen. Simple Tag ist eine gute Lösung, allerdings sendet diese Lösungen ein Haufen an Anfrage zu DB, was nicht unbedingt sein muss.

    Ich kann aber schon einen halben Erfolg verzeichnen, denn die Möglichkeit die Tags den Pages ohne Plugin hinzufügen gibt es trotzdem.
    Man muss in functions.php nur diese folgende Code-Zeilen einfügen und klappt es:

    function add_tags_for_pages() { register_taxonomy_for_object_type( 'post_tag', 'page' ); } add_action( 'init', 'add_tags_for_pages' ); function add_pages_to_tag_queries( $wp_query ) { if ( $wp_query->is_tag() ) $wp_query->set( 'post_type', array( 'post', 'page' ) ); } add_action( 'pre_get_posts', 'add_pages_to_tag_queries' );

    Das ganze klappt auf jedem Fall mit Twenty Eleven. Es gibt auch andere Themes, die es nicht mitmachen. S
    Soweit ich die Lösung kenne, melde ich mich hier.
    Gruß
    RG

    Das ist eine Signatur. Die darf keine Werbung enthalten. Also packt man hierhin ein Zi

  • Viel Spaß beim Basteln! :)

  • Hi Formateins,

    danke für deine Antwort und Code. Ich habe fast das Gleiche eingeführt, du hast aber umfangreichere Variante.

    Das ganze geht in functions.php rein, oder?

    Gruß
    RG

    Das ist eine Signatur. Die darf keine Werbung enthalten. Also packt man hierhin ein Zi

  • Ja. Kann auch 1-zu-1 in ein eigenständiges Plugin gesetzt werden (bspw. Multisite, etc.).

  • Beide Codes - dein und mein - funktionieren tip-top mit twenty eleven, aber irgendwie will das nicht mit allen themes klappen. Habe mir derzeit ein free theme aus web gezogen und dein Code bringt leider-leider keine Tags in die Pages rein. Ein Dilemma.

    Irgendeine Idee woran es hacken könnte?

    Das ist eine Signatur. Die darf keine Werbung enthalten. Also packt man hierhin ein Zi

  • Dann schau Dir mal T11 im Detail an. Natürlich muss im Theme eine Ausgabe für die Tags vorhanden sein. Innerhalb des Loops mit [FONT=courier new]the_tag()[/FONT], ansonsten mit den get-Funktionen. Kann aber auch recht einfach mit einem query über die Seiten-ID ausgelesen werden.

    Wenn das Theme eine tag.php dabei hat, geht's out-of-the-box.

  • Ach, keine Ahnung :), soweit bin ich noch gar nicht. Weder T11 noch out-of-box sagen mir etwas, ganz ehrlich.

    tag.php ist im betroffenen Theme überhaupt nicht vorhanden. Wie ich get_tags und vor allem wohin einfügen müsste, kann ich nicht sagen. Fremde Welt.

    Das ist eine Signatur. Die darf keine Werbung enthalten. Also packt man hierhin ein Zi

  • Obwohl, manchmal übertreibe ich auch.

    Hier die Code-Zeilen, die in functions.php gehören:

    add_action( 'init', 'add_tags_for_pages' );

    function add_pages_to_tag_queries( $wp_query ) {
    if ( $wp_query->is_tag() )
    $wp_query->set( 'post_type', array( 'post', 'page' ) );
    }
    add_action( 'pre_get_posts', 'add_pages_to_tag_queries' );


    Pfui, hat das Ganze aber paar Tage gedauert. :)

    Das ist eine Signatur. Die darf keine Werbung enthalten. Also packt man hierhin ein Zi

Jetzt mitmachen!

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