質問: '<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' ); 問題なんらかの理由で$ subjectの値が他の値のように更新され、ショートコードを通して渡されず、画像が変化しないその間違っていることは?(ちょうど要求ごとに追加されます)これは私が投稿を書くときに私がワードプレスエディタで惹きつけているショートコードです:[postinfobox subject="somthing" difficulty="hard" completiontime="2-5 minuts"]
回答: 私はあなたの問題を正確に再現することができませんでした、しかしここに助言があります:ユーザが主題のために悪い値を入れた場合のためにいくつかのデフォルトの振舞いを含めてください: // 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" />'; } そうすれば、たとえ彼らがあなたに悪いデータを与えたとしても、常にイメージがあるでしょう。