3.8 Kategorie mit Wiedererkennungs-Bild versehen

  • Hallo WP-Fans,

    Kategorie-Archiv: Blah Blah

    steht über den dazugehörenden Beiträgen. Ursprünglich hatte ich für jede Hauptseite/Hauptthema ein kleines Bild als Wiedererkennungseffekt vor(nicht im Beitrag).

    Jetzt bin ich ja mehrheitlich auf Kategorien umgestiegen, weil ich endlich gemerkt hatte, das es auch ohne Seiten besser sein kann. Nun haben aber die Kategorien kein Eingabefeld, wo ich ein Bild einsetzen könnte oder übersehe ich was?

    Wenn nicht gibts ne andere Lösung?
    (nicht Bild im Beitrag) Ich finde die Kategorien etwas stiefmütterlich behandelt.

    Gruss Ria

    • 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

  • Wenn ich dich richtig verstehe willst du Kategorien anlegen und jede Kategorie hat ein eingenes Bild, Richtig?

    Prüfe doch einfach die Art der Kathegorie und lassen dann dementsprechend ein Bild anzeigen... hoffe das ist verständlich :D

    LG
    Mojo

  • Hallo zusammen,

    @ArtofPic

    vielen Dank für Deinen Hinweis, das hat jetzt was gedauert, denn wenn ich sehe wieviel Code die Plugins mitschleppen da Frage ich mal nach, ob es nicht auch mit ein paar Zeilen Code geht:

    /* Bild zu Kategorie*/
    <?php $display_categories = array(3,5); ?>
    <?php foreach ($display_categories as $category) { ?>
    <?php $path = get_bloginfo('template_directory'); ?>
    <?php echo '<a href="?cat='3 . $category . '"?><img class="cat-image" src="http://localhost/wp-content/images/category' . $path . '' . $category . 'neues.png" alt="Aktuell" /?></a';?> ?>
    <?php } ?>
    /* Bild zu Kategorie ENDE*/

    Es ergibt aber nur eine weiße Seite und ich denke 'template_directory' stimmt nicht mehr. Ob danach noch was falsch gesetzt ist, kann ich so leider noch nicht ausprobieren.

    Mein PHP ist nicht sehr ausgeprägt, sorry. (die Zahlen in der Klammer (3,5) ist die cat= Zahl) von der Idee her sollte es auch mit ein paar wenigen Zeilen Code gehen. Jemand hier, der helfen kann?

    Gruss Ria

  • vermute mal du hast den Codeschnipsel von der frischen Zitrone ;) übernommen und etwas abgeändert

    hab das jetzt nicht getestet, aber da ist ein Fehler drin den du auch übernommen hast

    Code
    </a';?> ?>

    soll sicher so

    Code
    </a>'; ?>

    aussehen

  • Hall ArtofPic,

    Du hast Recht, leider ist es das nicht allein, ich habe WP 3.8 twentyfourteen.

    <?php $path = get_bloginfo('template_directory'); ?>

    da hat sich was im Core verändert, wenn ich das richtig verstanden habe stimmt 'template_directory' nicht mehr. Bin aber zu schusselig das zu ändern.

    Schade, die Lösung mit ein paar Zeilen würde mir sehr gefallen. Hast Du noch ne Idee?

    Gruss Ria

  • warum verwendest du nicht den Originalcode(Fehler korrigiert)

    durch deine Änderungen kann das nicht mehr funktionieren

    [COLOR="#FF0000"]Edit:[/COLOR] ach ja, für alle anderen die frische Zitrone

    Einmal editiert, zuletzt von Tutrix (4. Januar 2014 um 21:35)

  • Hi,

    der original Code beinhaltet doch nicht die cat von mir oder Dir. Meine erste Kategorie hat ?cat=3 und der Pfad zum Bild ist ja auch bei jedem anders und der Name des Bildes, welches Du angezeigt bekommen möchtest auch! Deine Antwort ist mit der heißen Nadel getrickt oder?

    Gruss Ria

  • du hast die Anleitung nicht gelesen

    die Kategorie wird oben angegeben bei dir also 3 und 5

    das Bild für Kategorie 3 heißt dann category3.jpg
    das Bild für Kategorie 5 heißt dann category5.jpg

    Zitat

    In dem hier gezeigten Beispiel muss man nun nur noch die Bilder für die Kategorien erstellen und unter dem Namen “category+catergoryID” (z.B. category3.jpg) im Ordner images abspeichern

    ach ja ich stricke nicht, dafür lese ich wohl besser

    Einmal editiert, zuletzt von Tutrix (4. Januar 2014 um 21:50)

  • Hallo ArtofPic,

    ja ich habe einfach nicht geglaubt, dass ich den Bildernamen so ändern kann. Wahrscheinlich weil ich den Code nicht so richtig nachvollziehen kann. Funktioniert aber noch nicht, so:

    <?php $display_categories = array(3,5);?>
    <?php foreach ($display_categories as $category) { ?>
    <?php $path = get_bloginfo('template_directory'); ?>
    <?php echo '<a href="?cat=' . $category . '"?><img class="cat-image" src="' . $path . '/images/category' . $category . 'category3.png" alt="foto" /?></a';?>

    .jpg muss ich ja wohl in .png ändern, sind nunmal pngs.

    Da das auf meinem Rechner zu Hause unter http://localhost läuft, kann es doch nicht sein oder?
    Jedenfalls weiterhin weiße Seite.

    Gruss Ria

  • bitte lese doch den Artikel mal richtig durch, nicht nur jedes 3te Wort............

    du änderst den Code ja schon wieder

    Code
    $path . '/images/category' . $category . '[COLOR="#FF0000"]category3.png[/COLOR]"

    das ist falsch, gehört da nicht hin

    das [COLOR="#FF0000"]muss[/COLOR] so

    Code
    $path . '/images/category' . $category . '.jpg"


    bleiben

    lediglich die Endung .jpg kannst du ändern in .png wenn du PNG-Bilder verwendest und nur dann

    also

    Code
    $path . '/images/category' . $category . '.png"

    sonst "[COLOR="#FF0000"]nix[/COLOR]" ändern

    und natürlich den angesprochenen Fehler "[COLOR="#FF0000"]richtig[/COLOR]" korrigieren

    also nicht so

    Code
    alt="foto" /?></a';?>

    sondern so

    Code
    alt="foto" /?></a>' ;?>

    und eine Bilder heißen dann (bei PNG)

    category3.png
    category5.png
    usw.

    wobei die Zahl immer die ID der Kategorie ist

    wenn du den Code weiterhin nach Lust und Laune veränderst, musst du dich nicht wundern wenn nix funktioniert

  • Hallo ArtofPic, leider ich immer noch,

    ich habe im Debug-Modus folgendes:

    Parse error: syntax error, unexpected '<' in /wp-content/themes/twentyfourteen/functions.php on line 528


    /*
    * Add Featured Content functionality.
    *
    * To overwrite in a plugin, define your own Featured_Content class on or
    * before the 'setup_theme' hook.
    */
    if ( ! class_exists( 'Featured_Content' ) && 'plugins.php' !== $GLOBALS['pagenow'] ) {
    require get_template_directory() . '/inc/featured-content.php';
    }

    /* Bild zu Kategorie*/
    <?php $display_categories = array(3,5);?> ****das ist Zeile 528****
    <?php foreach ($display_categories as $category) { ?>
    <?php $path = get_bloginfo('template_directory'); ?>
    <?php echo '<a href="?cat=' . $category . '"?><img class="cat-image" src="' . $path . '/images/category' . $category . '.png"alt="foto" /?></a>' ;?>
    <?php } ?>
    /* Bild zu Kategorie ENDE*/

    wobei in meinem Editor
    <?php foreach
    <?php $path
    <?php echo

    alle obigen <?php blaue Farbe haben nur <?php (zu $display) ist in grauer Farbe, was ein schlechtes Zeichen ist.
    Ich vermute ich kann den Code für Bild zu Kategorie nicht einfach unten, in der functions.php dranhängen.
    Habe also noch weiße Seite. Haste noch eine Idee?

    (sorry wenn ich mich so dusselig anstelle)
    habe jetzt erst verstanden, dass der Name des Bildes alleine zur Zuordnung zuständig sein soll. Habe eigentlich immer komplette Pfade zum Bild einsetzen müssen, daher hatte ich die Meinung den Code anpassen zu müssen.

    Gruss Ria

  • Hi Ria

    Dieser Code gehört an die Stelle wo das Icon/Bild angezeigt werden soll, also nicht in die functions.php(ist dafür falsch Formatiert)

    kenne jetzt das twentyfourteen nicht wirklich, aber würde es in der category.php versuchen
    oder wenn die einzelnen Artikel ein Kategorie-Icon bekommen sollen, in der content.php

  • Hallo ArtofPic,

    schon mal Dank für Dein Nachsehen mit mir! Da hätte ich mich ja noch ewig wundern können, dachte wie an sich so üblich es wäre die "functions" gewesen.

    ***Fast*** geschaft und weil die Datei relativ kurz ist mal hier rein:

    <?php
    /**
    * The template for displaying Category pages
    *
    * Link http://codex.wordpress.org/Template_Hierarchy
    *
    * @package WordPress
    * @subpackage Twenty_Fourteen
    * @since Twenty Fourteen 1.0
    */

    get_header(); ?>

    <section id="primary" class="content-area">
    <div id="content" class="site-content" role="main">

    <?php if ( have_posts() ) : ?>

    <header class="archive-header">
    <h1 class="archive-title"><?php printf( __( 'Category Archives: %s', 'twentyfourteen' ), single_cat_title( '', false ) ); ?></h1>

    <!--***Bild zu Kategorie***-->
    <?php $display_categories = array(3,5);?>
    <?php foreach ($display_categories as $category) { ?>
    <?php $path = get_bloginfo('template_directory'); ?>
    <?php echo '<a href="?cat=' . $category . '"?><img class="cat-image" src="' . $path . '/images/category' . $category . '.png"alt="foto" /?></a>' ;?>
    <?php } ?>

    <!--***Bild zu Kategorie ENDE***-->

    <?php
    // Show an optional term description.
    $term_description = term_description();
    if ( ! empty( $term_description ) ) :
    printf( '<div class="taxonomy-description">%s</div>', $term_description );
    endif;
    ?>
    </header><!-- .archive-header -->

    <?php
    // Start the Loop.
    while ( have_posts() ) : the_post();

    /*
    * Include the post format-specific template for the content. If you want to
    * use this in a child theme, then include a file called called content-___.php
    * (where ___ is the post format) and that will be used instead.
    */
    get_template_part( 'content', get_post_format() );

    endwhile;
    // Previous/next page navigation.
    twentyfourteen_paging_nav();

    else :
    // If no content, include the "No posts found" template.
    get_template_part( 'content', 'none' );

    endif;
    ?>
    </div><!-- #content -->
    </section><!-- #primary -->
    <?php
    get_sidebar( 'content' );
    get_sidebar();
    get_footer();
    ##################################################
    Allerdings jetzt, wenn auch ohne css bemühen zu müssen, zwar an der richtigen Stelle, jedoch BEIDE Bilder,werden gleichzeitig zusammen angezeigt.

    Also cat=3 und cat=5 zeigen beide Bilder zusammen an. Obwohl die Bilder ja unterschiedlich benannt sind.
    (category3.png und category5.png)Keine Debug Meldung.

    Gruss Ria

  • hab gerade mal etwas herumgebastelt, verwende mal diesen Code

    PHP
    <img class="cat-image" src="<?php echo get_bloginfo('template_directory'); ?>/images/category<?php $category = get_the_category(); echo $category[0]->cat_ID; ?>.png" alt="<?php $category = get_the_category(); echo $category[0]->cat_name; ?>" />


    also nichts verändern, einfach so einfügen

    Einmal editiert, zuletzt von Tutrix (5. Januar 2014 um 19:10)

  • Hallo ArtofPic,

    habe ich einfach drunter gesetzt. Es ergibt sich nun:

    Das Bild für cat=5 wird jetzt 2x angezeigt + 1x das Bild von cat=3

    (alles nebeneinander, also links cat=3 und 2x rechts daneben cat=5)

    Das Bild für cat=3 wird jetzt auch 2x angezeigt + 1x das Bild von cat=5 ( in der Mitte)

    Es werden also jeweils 3 Bilder angezeigt, eins mehr als vorher.

    Gruss Ria

  • Hi ArtofPic ,

    da habe ich mich selbst gehindert. Es funktioniert, ***Du bist ein PHP Genie!***

    Vielen lieben Dank, für Deine großen Bemühungen! Ich finde es ganz toll, jetzt ohne ein fettes Plugin auskommen zu können und das mit nur den paar Zeilen Code.

    Es müßte eine Sammlung von solchen Code "Schnipseln" geben, dann wäre WP bestimmt schneller.

    Gruss Ria

Jetzt mitmachen!

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