2017-04-25 6 views
2

Ich benutze erweiterte benutzerdefinierte Felder, um die URL-Position von Kategorie Bilder zurückgeben. Das würde mir erlauben, das Bild der Kategorie vor dem Titel des Beitrags hinzuzufügen. Ich habe eine Funktion insert_image_before_title in meiner functions.php-Datei, die von einem Titelfilter referenziert wird (siehe unten). Das scheint also gut für Posts auf meiner Hauptblogseite oder Post-Detailseite zu funktionieren. Da das korrekte Bild für die Kategorie vor dem Titel des Posts angezeigt wird. Es funktioniert jedoch nicht so gut für Widgets. Zum Beispiel würden die Widgets "Die letzten Kommentare" oder "Letzte Beiträge" das gleiche Category-Bild vor dem Titel anzeigen, obwohl das Category-Bild möglicherweise nicht das richtige ist, das an den Post gebunden ist (es scheint das erste Kategoriebild zu verwenden, auf das es stößt für ein bestimmtes Widget und zeigt das gleiche Bild für das Widget auf dem vorderen Ende, wenn jede Kategorie Bild an den Pfosten gebunden ist.Wordpress - Erweiterte benutzerdefinierte Felder - Kategorie Bilder für Widgets falsch

function insert_image_before_title($title, $id = null) 
{ 
    // load all 'category' terms for the post 

    $terms = get_the_terms(get_the_ID(), 'category'); 

    // we will use the first term to load ACF data from 

    if(!empty($terms)) 
    {   
     $term = array_pop($terms); 

     $category_icon_url = get_field('category_icon', $term); 

     // do something with $custom_field 

     if($category_icon_url) 
     {   
      $title = '<img src="'. $category_icon_url .'" />' . $title; 
     } 

    } 

    return $title; 
} 
add_filter('the_title', 'insert_image_before_title', 10, 2); 

Antwort

1
Try this: 
<?php 
$args = array(
    'taxonomy' => 'post_tag', 
    'hide_empty' => true, 
); 
$terms = get_terms($args); 
foreach ($terms as $term): 
$thumbnail = get_field('field_name', $term->taxonomy . '_' . $term->term_id); 
?> 
<!--If an array is returned in ACF--> 
<img src="<?php echo $thumbnail['url'];?>" alt="<?php echo $thumbnail['title'];?>"> 
<!--If an url is returned in ACF--> 
<img src="<?php echo $thumbnail;?>" alt="#"> 
<?php endforeach; ?> 
+0

Vielen Dank für die Antwort. ich bin neu in Wordpress so I don‘ Wissen Sie so viel darüber, also könnten Sie mir sagen, wo (welche Datei) würde ich den Code setzen, den Sie oben haben? – truk

+0

Geben Sie mir einen Link, wo Sie dies tun möchten –

+0

Wenn Sie diese Seite http: // bassandbrands nehmen .com/Blog/Sound-Check-Jamaika- chronixx/zum Beispiel wenn du in die rechte Seitenleiste gehst und runter zum Widget "Neueste Kommentare" scrollst. Alle Titel haben ein Kopfhörersymbol als das Kategoriebild vor dem Titelnamen. Wenn nur das erste ein Kopfhörer als Kategoriebildsymbol haben sollte und die restlichen ein Aufnahmesymbol haben sollten. So etwas ist irgendwo durcheinander – truk

Verwandte Themen