in_category() liefert fehler bei single.php

  • Ich möchte abhängig von der Kategorie verschiedene CSS-Klassen in diversen Elementen nutzen, deshalb habe ich folgenden Code innerhalb des "Loop" integriert:

    Code
    switch(in_category()) {
      case '1':
        $post_class = 'class_1';
      break;
      case '2':
        $post_class = 'class_2';
      break;
      default:
        $post_class = 'class_default';
     }

    Leider erhalte ich bei Single-Posts immer folgenden Fehler:

    Zitat

    Warning: Missing argument 1 for in_category()

    Ich habe in den anderen Beiträgen hier im Forum zur Funktion nichts aufschlussreiches für meinen Fall gefunden und freue mich daher über Hilfe!

    • 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

  • Die Fehlermeldung sagt's ja schon, in_category möchte gerne einen Parameter haben. In den Klammern.
    Also kannst du wohl kein switch/case nutzen. Stattdessen if/else.

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • Da habe ich die Funktion wohl zunächst missverstanden. Danke für den Hinweis. Ich habe es jetzt wie folgt gelöst:

    Code
    $post_class = 'class_default';
    if (in_category('1')) $post_class = 'class_1';
    if (in_category('2')) $post_class = 'class_2';

    Es funktioniert wunderbar!

Jetzt mitmachen!

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