Ankündigung

Einklappen
Keine Ankündigung bisher.

Blogvorschau mit Kategorie-Bild statt Feature-Bild

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Blogvorschau mit Kategorie-Bild statt Feature-Bild

    Hallo,

    ich möchte in meinem Wordpress Blog in der Übersicht statt dem jeweiligen kleinen Feature-Image des Posts lieber ein Kategorie-Bild festlegen und dieses zum jeweiligen Artikel zeigen.

    In folgender Zeile wird das Bild ausgegeben
    PHP-Code:
    $blog_meta_output "<a href='{$link}' class='small-preview' title='{$featured_img_desc}'>".$slider.$icon."</a>"
    Folgendes habe ich auf der Wordpress.org-Seite zu Kategorie-Bildern gefunden
    PHP-Code:
    <?php
    foreach((get_the_category()) as $category) {
        echo 
    '<img src="http://example.com/images/' $category->cat_ID '.jpg" alt="' $category->cat_name '" />';
    }
    ?>
    Kann mir hier wer bitte beim Zusammenschalten etwas helfen, da ich in PHP noch wenig Erfahrung habe?

    Wäre für jeden Tipp dankbar!

  • #2
    Wenn du die passende Kategorie ausgemacht hast, ungefähr so:

    PHP-Code:
    // Bildchen zur Kategorie
    $cat_img =  '<img src="http://example.com/images/' $category->cat_ID '.jpg" alt="' $category->cat_name '" />'
    // anstatt $slider und $icon in den Link platzieren
    $blog_meta_output "<a href='{$link}' class='small-preview' title='{$featured_img_desc}'>".$cat_img."</a>"
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Hi,
      vielen Dank für deine Hilfe! Ich habe den Code eingefügt und den Link entsprechend angepasst.

      Leider bekomme ich folgende Meldung
      "Notice: Undefined variable: ...." zu sehen.

      Daraufhin habe ich folgende Zeile ergänzt:
      $cat_img = '';

      Das hat aber nichts geholfen. Nachdem ich die Warnmeldung ausgeschaltet habe, wurde zwar mein Blog geladen, aber die Bilder wurden nicht angezeigt.

      Wie kann ich mir ausgeben, ob der jeweils gesuchte Link zu dem Bild passt?

      Kommentar


      • #4
        Hallo,

        kopier doch bitte wenn schon die ganze Fehlermeldung! Villeicht hast du einfach die falsche Variabele gesetzt und das Problem ist was ganz / eine ganz andere.
        Gruß,
        SebTM

        Kommentar


        • #5
          OK danke!
          Hier die komplette Fehlermeldung:

          PHP-Code:
          NoticeUndefined variablecategory in /mnt/web9/c1/52/53709952/htdocs/.../wp-content/themes/enfold/includes/loop-index.php on line 123 NoticeTrying to get property of non-object in /mnt/web9/c1/52/53709952/htdocs/.../wp-content/themes/enfold/includes/loop-index.php on line 123 NoticeUndefined variablecategory in /mnt/web9/c1/52/53709952/htdocs/.../wp-content/themes/enfold/includes/loop-index.php on line 123 NoticeTrying to get property of non-object in /mnt/web9/c1/52/53709952/htdocs/.../wp-content/themes/enfold/includes/loop-index.php on line 123 
          Ich habe die einzelnen Bilder entsprechend der Kategorie-Nummer als z.b. 1.png bezeichnet. Und sie sind unter folgender URL zu finden:
          http://.../wp-includes/images/category/1.png

          Kommentar


          • #6
            Was gibt denn folgendes aus?
            PHP-Code:
            var_dump(get_the_category()); 
            [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
            [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

            Kommentar


            • #7
              Da erhalte ich folgende Meldung
              Code:
              array(1) { [0]=> object(stdClass)#9791 (17) { ["term_id"]=> &int(10) ["name"]=> &string(10) "Grundlagen" ["slug"]=> &string(10) "grundlagen" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(10) ["taxonomy"]=> string(8) "category" ["description"]=> &string(0) "" ["parent"]=> &int(0) ["count"]=> &int(2) ["object_id"]=> int(374) ["filter"]=> string(3) "raw" ["cat_ID"]=> &int(10) ["category_count"]=> &int(2) ["category_description"]=> &string(0) "" ["cat_name"]=> &string(10) "Grundlagen" ["category_nicename"]=> &string(10) "grundlagen" ["category_parent"]=> &int(0) } }
              Es müssten aber eigentlich 5 Kategorien sein...

              Kommentar


              • #8
                Also ich versteh die Ausgabe überhaupt nicht

                Wie kann ich nun mir die URL ausgeben lassen, die ich für das Kategorie Bild aufrufe?

                Kommentar


                • #9
                  PHP-Code:
                  <?php 
                  foreach((get_the_category()) as $category) { 
                      echo 
                  '<img src="http://example.com/images/' $category->cat_ID '.jpg" alt="' $category->cat_name '" />'

                  ?>
                  Das ist der Code, den du eingangs gepostet hast... da wird eine URL zusammengesetzt.
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    Hi,
                    der Code von Istegelitz funktioniert und es werden die Kategoriebilder wie gewünscht angezeigt.

                    Allerdings geht optisch vom Theme her eine Linie durch die Bilder und wenn man darauf klickt, passiert logischerweise gar nichts. Ich möchte aber, dass es dann alle Beiträge dieser Kategorie angezeigt werden (URL/blog/kategoriename).

                    Also dachte ich stecke meinen funktionierenden Bildpfad wieder in den 1. Code von ihm (#2).
                    Ich erhalte dann aber dennoch folgende Fehlermeldung:
                    Notice: Undefined variable: category in /mnt/web9/c1/52/53319952/htdocs/url/wp-content/themes/enfold/includes/loop-index.php on line 123 Notice: Trying to get property of non-object in /mnt/web9/c1/52/53319952/htdocs/url/wp-content/themes/enfold/includes/loop-index.php on line 123 Notice: Undefined variable: category in /mnt/web9/c1/52/53319952/htdocs/url/wp-content/themes/enfold/includes/loop-index.php on line 123 Notice: Trying to get property of non-object in /mnt/web9/c1/52/53319952/htdocs/url/wp-content/themes/enfold/includes/loop-index.php on line 123

                    Kommentar


                    • #11
                      Hallo,

                      nur zu den von dir genannten Fehlermeldungen - scheinbar existiert in angegebener Datei auf Zeile 123 eine Variabele nicht oder ist nicht wie erwartet ein Objekt. Poste mal die Datei um dir "suffizient" helfen zu können.
                      Gruß,
                      SebTM

                      Kommentar


                      • #12
                        Um diese Zeile geht es bei der Fehlermeldung

                        PHP-Code:
                        $cat_img =  '<img src="http://url.de/wp-includes/images/category/' $category->cat_ID.'.png" alt="' $category->cat_name '" />'
                        wenn ich die Variable rausnehme, erhalte ich keine Meldung mehr...

                        Kommentar


                        • #13
                          Jo, heißt wohl das $category kein Objekt ist - warum - keine Ahnung! Hast du mal versucht zu debuggen? z.B. var_dump($category) innerhalb der Schleife?
                          Gruß,
                          SebTM

                          Kommentar


                          • #14
                            Hi,
                            ich kann nur leider mit der Ausgabe dann auch nicht viel anfangen:
                            object(stdClass)#9812 (17) { ["term_id"]=> &int(1) ["name"]=> &string(9) "Sonstiges" ["slug"]=> &string(9) "sonstiges" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(1) ["taxonomy"]=> string( "category" ["description"]=> &string(0) "" ["parent"]=> &int(0) ["count"]=> &int(2) ["object_id"]=> int(332) ["filter"]=> string(3) "raw" ["cat_ID"]=> &int(1) ["category_count"]=> &int(2) ["category_description"]=> &string(0) "" ["cat_name"]=> &string(9) "Sonstiges" ["category_nicename"]=> &string(9) "sonstiges" ["category_parent"]=> &int(0) }

                            Kommentar


                            • #15
                              Und jetzt bitte mal "im ganzen Satz", mit Code... diese Herumraterei, wo du was wie gemacht hast, nervt.

                              PHP-Code:
                              object(stdClass)#9812 (17) { ["term_id"]=> &int(1) ["name"]=> &string(9) "Sonstiges" ["slug"]=> &string(9) "sonstiges" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(1) ["taxonomy"]=> string( "category" ["description"]=> &string(0) "" ["parent"]=> &int(0) ["count"]=> &int(2) ["object_id"]=> int(332) ["filter"]=> string(3) "raw" ["cat_ID"]=> &int(1) ["category_count"]=> &int(2) ["category_description"]=> &string(0) "" ["cat_name"]=> &string(9) "Sonstiges" ["category_nicename"]=> &string(9) "sonstiges" ["category_parent"]=> &int(0) } 
                              Also das sieht für mich sehr nach einem Category Objekt aus... es hat cat_ID, es hat cat_name, ganz so wie der Code es verlangt. Deswegen siehe erster Satz...

                              PHP-Code:
                              $category get_the_category();
                              $cat_img =  '<img src="http://url.de/wp-includes/images/category/' $category->cat_ID.'.png" alt="' $category->cat_name '" />'
                              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                              Kommentar

                              Lädt...
                              X