Vous avez un problème avec un shortcode .. Je ne sais pas où et comment régler la condition afin d'afficher la bonne image en fonction du sujet/de la catégorie de la ..
Aide Plz :)
function postInfoBoxSc( $atts ) {
extract( shortcode_atts( array(
'subject' => 'Category type',
'difficulty' => 'User Types',
'completiontime' => 'completion Time'
), $atts ) );
// Set image acorring to guide type
if ($subject == 'wordpress') {
$subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/wordpress.png" alt="מדריך וורדפרס" />';
} elseif ($subject == 'web design') {
$subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/webDesign.png" alt="מדריך בניית אתרים" />';
} elseif ($subject == 'facebook') {
$subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/facebook.png" alt="מדריך פייסבוק" />';
} elseif ($subject == 'RSS') {
$subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/rss.png" alt="מדריך RSS" />';
}
return '
<br class="clear" />
<div class="postInfoBox">
'. $subjectImg .'
<h5>Guide information:</h5>
<ul>
<li><strong>Category:</strong> '. $subject .'</li>
<li><strong>User Lever:</strong> '. $difficulty .'</li>
<li><strong>completion Time:</strong> '. $completiontime .'</li>
</ul>
</div>
';
}
add_shortcode( 'postInfoBox', 'postInfoBoxSc' );
Le problème Pour une raison quelconque, la valeur de $ subjectentent est mise à jour comme les autres valeurs et n'est pas transmise via le shortcode et l'image ne change pas car de ça
Qu'est-ce que je fais mal ??
(vient d’être ajouté à la demande) c’est le shortcode que je saisis dans l’éditeur wordpress lors de la rédaction d’un message:
[postInfoBox subject="somthing" difficulty="hard" completiontime="2-5 minuts"]
Je n'ai pas été en mesure de reproduire votre problème exactement, mais voici un conseil: incluez un comportement par défaut, au cas où l'utilisateur mettrait une valeur incorrecte pour le sujet:
// Set image acorring to guide type
if ($subject == 'wordpress') {
$subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/wordpress.png" alt="מדריך וורדפרס" />';
} elseif ($subject == 'web design') {
$subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/webDesign.png" alt="מדריך בניית אתרים" />';
} elseif ($subject == 'facebook') {
$subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/facebook.png" alt="מדריך פייסבוק" />';
} elseif ($subject == 'RSS') {
$subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/rss.png" alt="מדריך RSS" />';
} else {
// Add default case
$subject = "Default here";
$subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/default.png" alt="מדריך RSS" />';
}
De cette façon, il y aura toujours une image même s'ils vous transmettent de mauvaises données.