if categoryA =title / if categoryB=something else

  • ,moin moin,
    ich hab schon wiedermal ein Problem mit if-Bedingungen.

    Ich würde gerne erreichen das in bestimmten Kategorien (sagen wir 3,7,9,11) das ausgegeben wird:

    Zitat

    <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>

    während in zBsp den Kategorien 4,6,12 folgendes

    Zitat

    <h1><?php the_title(); ?></h1>

    oder vielleicht auch nix.

    Ich nutze Arthemia und habe keine category.php im Einsatz.
    meine Php-Kenntnisse:äusserst rudimentär

    Hat mal jemand nen Code-schnipsel zur Hand? ;-)

    gruss axel

    • 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

  • kann ich dann 2 davon einfach unterinanderwegnotieren oder muss ich wieder mit If was basteln.

    geht das so?

    PHP
    <?php if ( in_category('2,5,11') ): ?>
      <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
    <?php endif; ?>
    <?php if ( in_category('4,6,23') ): ?>
    <h1><?php the_title(); ?></h1>
    <?php endif; ?>

    Gruss axel

  • Ok funktioniert.
    Vielen Dank.

    Noch eine Frage.
    In der Version muss ich alle IDs per Hand eintragen.
    Wenn ich aber nur sagen wir 10 habe an denen ich die ausgabe modifizeren will und alle anderen 90 sollen die the_title haben...
    wie mach ich das?

    ich habs grade mal so versucht:

    PHP
    <?php if ( in_category('1,2,3') ): ?>
      <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
    <?php endif; ?>
    <?php if ( in_category('') ): ?>
    <h1><?php the_title(); ?></h1>
    <?php endif; ?>

    In der Hoffnung das nun alle ausser 1,2,3 das (<h1><?php the_title(); ?></h1>)erhalten.

    Aber leider Fehlanzeige.

    Hier muss irgendso ein if /else hin aber ......:oops:

  • ich verstehe zwar grundsätzlich was damit gemeint ist aber verstehe leider die php-Syntax nicht.
    Seit drei Stunden kämpfe ich bereits mit "Fatal Errors" und kriegs nicht hin.

    Hat vieleicht ein PHP-kundiger mal Gnade und wäre so nett mir das mal aufzunotieren?
    Ich bete für denjenigen auch zur nacht. :-D
    Is ja Ostern ;-)

    Gruss axel

  • aber nur weil Ostern ist :mrgreen:

    PHP
    [COLOR=#000000] [COLOR=#0000BB]<?php
    [/COLOR][COLOR=#007700]if ([/COLOR][COLOR=#0000BB]$a [/COLOR][COLOR=#007700]> [/COLOR][COLOR=#0000BB]$b[/COLOR][COLOR=#007700]) {
        echo [/COLOR][COLOR=#DD0000]"a is bigger than b"[/COLOR][COLOR=#007700];
    } elseif ([/COLOR][COLOR=#0000BB]$a [/COLOR][COLOR=#007700]== [/COLOR][COLOR=#0000BB]$b[/COLOR][COLOR=#007700]) {
        echo [/COLOR][COLOR=#DD0000]"a is equal to b"[/COLOR][COLOR=#007700];
    } else {
        echo [/COLOR][COLOR=#DD0000]"a is smaller than b"[/COLOR][COLOR=#007700];
    }
    [/COLOR][COLOR=#0000BB]?>[/COLOR] [/COLOR]
  • ??
    eigentlich wollte ich es verständlicher.

    Was ist das?:

    Code
    $a > $b

    Und das:

    Code
    a is bigger than b

    Und die anderen hübschen Buchstaben die mitr so mathematisch vorkommen?

    Ok..mal Spass beiseite.
    Ich steh mit PHP wirklich auf Kriegsfuss und vertseh momentan weniger als vorher.

    Ostern hat irgendwas mit Leid & Schmerz zu tun, oder?

  • Hallo MaD,
    vielen Dank für deine Betreuung.
    Es ist allerdings noch nicht ausgestanden.
    Sorry

    Zitat

    Parse error: syntax error, unexpected '<' in

    Hatte zuerst vermutet das vielleicht noch die Bedingung beendet werden müsste und habe nach deinem Code ein

    PHP
    <?php endif; ?>

    eingefügt.
    Ergebnis: gleicher Fehler

    Dann den Code auf Leerstellen überprüft, mal das endif rein , dann wieder raus.

    na ja,,was soll ich sagen...

    Es bleibt bei dem Fehler.

    Vielleicht muss das endif ja irgendwo viel weiter unten gesetzt werden??
    Das kann ich nun als PHP-DAU nicht beurteilen.

    Deswegen poste ich mal den ganzen Code der archive.php
    Könnte mal jemand draufschauen?

    Gruss axel

  • man man da muss ich gestern Abend meine Gedanken aber sonst wo gehabt haben ... php-technisch gesehen war das schon richtig ... aber wir haben hier ja noch html-Fragmente dazwischen ...

    PHP
    <?php if (in_category('1,2,3')) { ?>
        <a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
        <?php } else { ?>
           <h1><?php the_title(); ?></h1>
        <?php } ?>

    so müßte es funktionieren ...

  • Aber ja:

    Code
    [B]Parse error[/B]:  syntax error, unexpected '<' in [B]C:\xampp\htdocs\kuenstleragentur\wp-content\themes\arthemia\category.php[/B] on line [B]20[/B]

    oder aber in archive.php wenn ich die category.php entferne.
    beide dateien sind noch identisch

    Link geht leider nicht da lokal (Xampp).
    Gruss axel

  • Da war iczh wohl gestern schon etwas zu müde/vorschnell.

    geht nämlich doch nicht:

    PHP
    <?php if (in_category('1,2,8,4,5,6,7,46')) { ?>
        <h1><?php the_category(''); ?></h1>
        <?php } else { ?>
           <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
        <?php } ?>

    Demnach müssten doch in den Kategorien mit den IDs 1,2,8,4,5,6,7,46 <h1> ausgegeben werden und in allen anderen <h2>, oder?

    Tuts aber nicht.
    Sind überall <h2>

    Hat da nochmal jemand eine Idee?
    Kanns leider nicht zeigen weil es noch auf nem Xampp läuft.

    Gruss axel

  • ja das habe ich mir fast gedacht ... leider kann ich das zur Zeit nicht eben mal alles durchtesten und dir dann die Lösung sagen ...

    also es liegt daran, dass er '1,2,3' als String ansieht .... versuch es mal ohne die beiden '' ... also nur 1,2,3 ... wenn das auch nicht klappt, bauen wir dir if einfach um .... wäre auch kein Prob ... nur viel länger ...

  • ja meinte ich, aber habe mir schon fast gedacht, dass das nicht funktioniert ...

    PHP
    <?php if (in_category('1')) { ?>
        <a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
        <?php } elseif  (in_category('2'))  { ?>
     <a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
        <?php } elseif  (in_category(3'))  { ?>
     <a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
    <?php } else { ?>
           <h1><?php the_title(); ?></h1>
        <?php } ?>

    dann sollte das aber jetzt funktionieren :mrgreen:

Jetzt mitmachen!

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