2017-04-25 1 views
2

J'utilise Advanced Field Fields pour retourner l'emplacement de l'URL des images de catégorie. Ce qui me permettrait d'ajouter l'image de catégorie avant le titre du poste. J'ai une fonction insert_image_before_title dans mon fichier functions.php qui est référencé par un filtre de titre (voir ci-dessous). Cela semble donc bien fonctionner pour les posts sur ma page de blog principale ou sur la page de détails de mon post. Comme l'image correcte pour la catégorie apparaît devant le titre de la publication. Cependant, cela ne fonctionne pas très bien pour les widgets. Par exemple, les widgets "Les derniers commentaires" ou "Messages récents" afficheront la même image de catégorie avant le titre, même si l'image de catégorie n'est peut-être pas la bonne (elle semble utiliser l'image de première catégorie pour un widget particulier et montre la même image pour le widget sur l'extrémité avant, si une image de catégorie est liée au poste.Wordpress - Champs personnalisés avancés - Images de catégorie incorrectes pour les widgets

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); 

Répondre

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

Merci pour la réponse. Je suis nouveau à Wordpress, donc je n » Je sais beaucoup à ce sujet, alors pourriez-vous me dire où (quel fichier) je mettrais le code que vous avez ci-dessus? – truk

+0

Donnez-moi un lien où vous voulez faire cela –

+0

Si vous prenez cette page http: // bassandbrands .com/blog/sound-check-jamaïque- chronixx/par exemple si vous allez dans la barre latérale droite et descendez jusqu'au widget "Derniers commentaires". Tous les titres ont une icône de casque comme image de catégorie avant le nom du titre. Quand seulement le premier devrait avoir un casque comme icône d'image de catégorie et les autres devraient avoir une icône d'enregistrement. Donc, quelque chose est foiré quelque part – truk