Wie findet man die ID der aktuellen Kategorie für einen link?

  • Die Ausgangslage:
    Wie bei den meisten WP-Blogs habe ich ein Menü, das über die Funktion wp_list_categories die Kategorien-links anbietet. Wer eine Kategorie auswählt, bekommt alle posts dieser aktuellen Kategorie angezeigt.

    Das Problem:
    Wie finde ich die ID von dieser aktuellen Kategorie heraus?

    Das Ziel:
    Ich möchte die ID der aktuellen Kategorie in einen link einbauen.

    etwas ähnliches habe ich mit dem Namen der aktuellen Kategorie schon geschafft. Hier konnte ich single_cat_title('') in den link einbauen. Der sieht (verkürzt) so aus:
    <a href="http://blogname.de/<?php single_cat_title('')?> ">

    Leider geht das nicht mit allen Namen meiner Kategorien. Deshalb bräuchte ich einen link mit der ID.

    Hat jemand eine Idee?

    • 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

  • ... vielen Dank! Leider brauche ich nicht den link zu der Kategorie selbst, sondern die ID der aktuellen Kategorie, um damit einen ganz anderen link zu basteln. Wozu ich das brauche, lässt sich leider nicht in drei Sätzen erklären. Ich versuch es mal am konkreten Beispiel:

    Ich biete die posts in meinem blog Daily Paragraph - Einmal täglich im Recht unter zwei Aspekten sortiert an.
    1) Themen-Kategorien:
    Zuerst entscheidet man sich im Menü für das Thema (z.B. "Mobbing" als Subkategorie von "Arbeitnehmer im Recht").

    2) Textart-Kategorien:
    Hat sich der Leser für eine Themen-Kategorie entschieden, findet er zu diesem Thema verschiedene Textarten wie "Ratgeber", "Urteile", "Interviews" (auch das sind Kategorien).

    Den neuen Link brauche ich dafür, dass die Leser z.B. in der aktuellen Themen-Kategorie "Mobbing" alle "Urteile" zu genau diesem (und nur zu diesem Thema) aufrufen können.

    Wie gesagt: Grundsätzlich funktioniert das, wenn ich den neuen link mit dem Namen der aktuellen Kategorie erstelle, also mit single_cat_title('')

    Ein Beispiel gefällig? Bitte schön:
    Mobbing | Daily Paragraph - Einmal täglich im Recht
    Auf dieser Seite gibt es unter dem Header einen hellblauen Kasten. Und dort ein kleines dunkelblaues Kästchen mit dem Wort "Urteile" in weißer Schrift. Wer das anklickt, bekommt alle posts, die zugleich in der Kategorie "Mobbing" UND in Kategorie "Urteile" sind.

    Leider eignen sich nicht alle meine Kategorienamen für diesen Link. Der Grund: Einige Kategorienamen bestehen aus mehreren Wörtern und enthalten Leerzeichen, was offenbar stört, sich aber nicht mehr ändern lässt.

    Deshalb suche ich nach einer Möglichkeit, wie ich die Kategorie-Id der aktuellen Kategorie in den neuen link einbauen kann.

    Beste Grüße
    Rüdiger

  • get_category_link($cat) braucht aber genau das, was ich erst suche: nämlich die Kategorie-ID

    Gibt es denn wirklich keine Möglichkeit, die ID der Kategorie abzufragen, in der ich mich gerade befinde?

  • Vielen Dank!!!

    Seltsamerweise hat es nicht sofort mit copy-and-paste geklappt. Die gewünschte Lösung ergab sich erst, als ich Deinen Vorschlag von Hand in den Quellcode geschrieben habe. Aber dafür funktioniert das jetzt 1A.

    1. Abfragen der ID der aktuellen Kategorie:

    <?php $cat_id = get_cat_id(single_cat_title(null, false)); ?>


    2. Dazu der link zu einer statischen Seite, die mit wp_query die Artikel der aktuellen Kategorie abfragt, von diesen aber nur einen Teil anzeigt (im Bsp: 'Teilmenge'):

    <a href="http://daily-paragraph.de/.../<?php echo($cat_id)-teilmenge;?>">Hier lesen Sie nur posts aus der aktuellen Kategorie, die gleichzeitig auch zur Kategorie 'Teilmenge' gehören</a>


    Nochmals vielen Dank für die Lösung

  • Falls Dich nur die Nummer der Kategorie selbst interessiert: Im Adminbereich auf Verwalten>Kategorien gehen. Wenn Du mit der Maus über eine Kategorie fährst, dann zeigt Dir Dein Browser den Link unten links an. Die ID steht am Ende des Links. Beste Grüße und viel Erfolg.

Jetzt mitmachen!

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