Blättern nur innerhalb der jeweiligen Kategorie - wie?

  • Hallo zusammen,

    ich möchte gerne, dass nur innerhalb der Beiträge der jeweiligen Kategorie geblättert werden kann. Es gibt z.B. eine Hauptkategorie Texte mit Unterkategorien Texte 2018, Texte 2017 usw. mit einer Anzahl X Beiträgen aus den jeweiligen Jahren. Beim Blättern von einem Beitrag zum nächsten werden aber auch Beitrag einer anderen Kategorie angezeigt, wenn sie datumsmäßig reinpassen. Das Blättern erfolgt also innerhalb sämtlicher vorhandener Beiträge nach Datum. Und genau das soll nicht sein, sondern getrennt nach den jeweiligen Kategorien.

    Gibt es dafür ein Plugin oder wie kann ich das lösen? Arbeite mit Kahuna Theme.

    Danke und Grüße
    Sabine

    • 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

  • Normalerweise sollten beim Blättern innerhalb einer Kategorieübersicht wie z.B. [FONT=Courier New]example.com/category/deinekategorie/[/FONT] für die Navigation entspr. Links wie [FONT=Courier New]example.com/category/deinekategorie/page/2/[/FONT] usw. erscheinen und so das Blättern in der Kategorieübersicht innerhalb der Kategorie bleiben.

    Sobald man einen einzelnen Beitrag öffnet, kann WordPress anhand des Links des Beitrags nicht mehr feststellen, dass vorher mal in einer Kategorie geblättert wurde, daher wird die Navigation zum Blättern über alle Beiträge gezeigt.

    Ist das in etwa das, was Du beobachtest?

    Ansonsten helfen im Forum in der Regel Links zur betroffenen Seite mit exakten Beispielen, evtl. hat dann mit den entspr. Details jemand eine Idee, wie man das bei Dir lösen könnte.

    Denkbar wäre z.B. eine Nutzung des [FONT=Courier New]in_same_term[/FONT] Parameters beim nächster/vorheriger Link o.ä., dabei kommt es auch auf Rahmenbedingungen an, wie z.B. ob Deine Beiträge mehrere Kategorien haben, welche Aufrufe zum Erstellen der Links Dein Theme verwendet, usw.

    7 Mal editiert, zuletzt von b3317133 (9. November 2018 um 19:43)

  • Vielen Dank für deine Antwort!

    Sobald man einen einzelnen Beitrag öffnet, kann WordPress anhand des Links des Beitrags nicht mehr feststellen, dass vorher mal in einer Kategorie geblättert wurde, daher wird die Navigation zum Blättern über alle Beiträge gezeigt.

    Ist das in etwa das, was Du beobachtest?

    ja, genau! Hier ein Beispiel: Es gibt die Kategorie "Essays" mit Unterkategorien Essays nach Jahren. Die Beitäge / Essays sind entsprechend zugeordnet. Wenn man z.B. die Übersichtsseite aller Essays 2011 aufruft werden alle aus diesem Jahr angezeigt. So weit, so gut.
    http://advaitavedanta-sitara.de/category/essays/essays-2011

    Öffnet man ein Essay über "weiterlesen" erscheinen links und rechts Navigationspffeile zum vorherigen und nächsten Essay. Und dann passiert es, dass auch Beiträge aus anderen Kategorien angezeigt werden - hier nun die aus der Kategorie Englische Essays, weil sie chronologisch passen. Das möchte ich umgehen.

    Wenn ich dazu nun irgendwo in der Programmierung etwas einbauen/ändern muss, dann brauche ich bitte, bitte ganz genaue Anweisung, wo und wie.... damit kenne ich mich überhaupt nicht aus, bin nur einfacher Anwender :)

  • Wenn ich dazu nun irgendwo in der Programmierung etwas einbauen/ändern muss, dann brauche ich bitte, bitte ganz genaue Anweisung, wo und wie....

    • Du verwendest das Theme Kahuna in einer relativ alten Version 1.1.0
    • Die Dateien des Themes befinden sich auf dem Server im Ordner [FONT=Courier New]wp-content/themes/kahuna/[/FONT]
    • Änderungen an Dateien des Themes werden bei einem Theme-Update überschrieben
    • Daher legt man üblicherweise ein sog. Child Theme an, das überspringen wir jetzt mal
    • Um zu sehen, ob das so funktioniert, wie Du Dir das vorstellst, ist eine Bearbeitung der Datei [FONT=Courier New]single.php[/FONT] im Theme nötig
    • Erstelle ein Backup der Datei [FONT=Courier New]single.php[/FONT] falls was schiefgeht.


    In der Datei [FONT=Courier New]single.php[/FONT] befindet sich am Anfang u.a. dieser Codeblock:

    PHP
    <nav id="nav-fixed">
            <div class="nav-previous"><?php previous_post_link( '%link', '<i class="icon-fixed-nav"></i>' );  previous_post_link( '%link', '<span>%title</span>' );  ?></div>
            <div class="nav-next"><?php next_post_link( '%link', '<i class="icon-fixed-nav"></i>' ); next_post_link( '%link', '<span>%title</span>' );  ?></div>
        </nav>


    Ersetze den Codeblock durch diesen:

    PHP
    <nav id="nav-fixed">
            <div class="nav-previous"><?php previous_post_link( '%link', '<i class="icon-fixed-nav"></i>', true );  previous_post_link( '%link', '<span>%title</span>', true );  ?></div>
            <div class="nav-next"><?php next_post_link( '%link', '<i class="icon-fixed-nav"></i>', true ); next_post_link( '%link', '<span>%title</span>', true );  ?></div>
        </nav>


    Technisch: Bei den Aufrufen von [FONT=Courier New]previous_post_link( .. )[/FONT] und [FONT=Courier New]next_post_link( .. )[/FONT] kommt jeweils ein dritter Parameter [FONT=Courier New]true[/FONT] hinzu, der steht für das o.g. [FONT=Courier New]in_same_term[/FONT]. Das bewirkt theoretisch, dass nur Beiträge mit der gleichen Kategorie verlinkt werden.

    Ob/wie das bei Dir funktioniert, wird sich zeigen. Keine Garantie für nichts...

  • Vielen lieben Dank, es hat funktioniert, hurra! :-)

    Wegen des erwähnten child themes: Bisher war ich der Meinung, wir brauchen das nicht, weil nichts in der Programmierung des Eltern Themes geändert wird. Alle Individualisierungen des themes sind über den Customizer gemacht worden, ein paar Plugins sind dazu gekommen und das soll ja bei einem Eltern Update alles unverändert bleiben. Ob das wirklich so ist, habe ich jedoch noch nicht ausprobiert, daher die veraltete Version des Eltern Themes.

    Wie hoch ist denn wohl der Aufwand, im Nachhinein ein child theme zu erstellen...? Müssten dann alle Individualisierungen dort wieder neu erfolgen?

  • Wie hoch ist denn wohl der Aufwand, im Nachhinein ein child theme zu erstellen...? Müssten dann alle Individualisierungen dort wieder neu erfolgen?

    Im Regelfall ja.

    Wie komplex das wird, kommt auf den Einzelfall an. Manchmal reicht ein älteres Plugin wie Inherit Theme Mods, manchmal muss man in der Datenbank Settings kopieren, manche Themes speichern ihre Einstellungen irgendwo im wp-content Ordner als .json, .xml o.ä.

    Hilft nur ausprobieren, ähnlich wie für Dein bisher nicht erfolgtes Theme Update. Dafür erstellt man am besten eine Kopie des ganzen Websites inkl. aller Daten mit einem Plugin wie Duplicator und installiert diese Kopie z.B. auf einem anderen Server oder auf einer Subdomain [FONT=Courier New]test.deinedomain.de[/FONT] o.ä. mit neuer Datenbank.

    Am besten das ganze Video auf der Duplicator-Seite ansehen, auch wenn es englisch ist, dann versteht man eher, was da wie passiert. Wenn das technisch "zu hoch" ist, bekommst Du bei entspr. Anfrage in der Jobbörse hier im Forum sicherlich entspr. passende Angebote.

  • Hallo, seit kurzem funktioniert die o.g. Lösung mit dem kategoriebezogenen Vor-/Rückwärtsblättern innerhalb von Beiträgen nicht mehr richtig und ich weiß nicht, wieso.
    Beispiel: https://advaitavedanta-sitara.de/category/essays/essays-2019
    Öffnet man ein Essay über "weiterlesen" erscheinen die Navigationspfeile links/rechts zum vorherigen und nächsten Essay nicht mehr. Aktualisiere ich die Seite mit F5, sind sie sichtbar. Blättere ich dann zum vorherigen/nächsten Essay, sind dort die Pfeile wieder weg und erscheinen erst wieder mit F5. Was könnte das Problem sein?

    In der single.php steht dies:

    <div class="nav-previous"><em><?php _e('Previous Post', 'kahuna');?></em><?php previous_post_link( '%link', '<span>%title</span>',true ); ?></div>
    <div class="nav-next"><em><?php _e('Next Post', 'kahuna');?></em><?php next_post_link( '%link', '<span>%title</span>',true ); ?></div>

Jetzt mitmachen!

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