2017-02-23 1 views
0

J'essaie de sortir des icônes de drapeau en fonction des sélections d'une liste déroulante multisélection personnalisée où les utilisateurs peuvent sélectionner (jusqu'à 4) langues qu'ils peuvent parler. J'ai téléchargé des icônes dans ma bibliothèque multimédia, et je les ai intitulé "english.png", "german.png" et ainsi de suite. Est-il possible d'afficher un fichier multimédia basé sur le titre? Idéalement, je serais capable de faire quelque chose comme ci-dessous, mais je n'ai trouvé aucune documentation sur la façon de le faire. Toute contribution (ou recommandations alternatives) accueillies! Merci :)Afficher les médias Wordpress dans une boucle en utilisant le titre de la bibliothèque de médias image

//example dropdown selection values: "german", "english" 

if (get_job_field('language')) : 

    $languages = get_job_field('language'); 
    foreach ($languages as $language) { 
     echo '<image src="'.$language.'.png">';    
    } 
endif; 

//example output: <img src="german.png"><img src="english.png"> 

Répondre

0

J'ai trouvé une (quoique imparfaite) solution:

foreach ($languages as $language) { 

    echo "<img src='https://www.wgeil.de/wpcontent/uploads/2017/02/".$language.".png'>"; 

} 
1

essayer cette

$lans = array(); 
if (get_job_field('language')) : 
    $languages = get_job_field('language'); 
    foreach ($languages as $language) { 
     $lans[] = $language . '.png';     
    } 
endif; 

$args = array(
    'post_type'  => 'attachment', 
    'post_mime_type' => 'image', 
    'post_status' => 'inherit', 
    'posts_per_page' => - 1, 
); 
$query = new WP_Query($args); 
foreach ($query->posts as $img) { 
    $filename = basename (get_attached_file($img->id)); 
    if(in_array($filename, $lans)) { 
     echo '<image src="'. wp_get_attachment_url($img->ID); .'">'; 
    } 
} 

peut-être cela vous aidera