誤解なされるといけないので頭を付けておきます。
もちろんループなどは省略しています。
<?php
$files = hoge;
if (empty($files)){
//画像がない場合の処理
}else{
//画像がある場合の処理
}
?>
トピック投稿者
GONSY
(@digitalix)
akihiroさん
返事が遅くなってしまいましたが、アドバイスありがとうございました。
さっそく試してみました。
<ul>
<?php query_posts('cat=1&showposts=10'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php
$files = get_children("post_parent=$id&post_type=attachment&post_mime_type=image");
if (empty($files)){
print "<li><a href=\"".get_permalink()."\" title=\"$post->post_title\"><img src=\"http://example.com/~/noimage.png\" alt=\"代替\" width=\"80\" height=\"80\" /></a></li>\n";
}else{
$keys = array_keys($files);
$num=$keys[0];
$thumb=wp_get_attachment_thumb_url($num);
print "<li><a href=\"".get_permalink()."\" title=\"$post->post_title\"><img src=\"$thumb\" width=\"80\" height=\"80\" alt=\"画像\" /></a></li>\n";
}
?>
<?php endwhile;else: ?>
<?php endif; ?>
</ul>
akihiroさんのアドバイスをもとに、上のように記述を修正してみました。
【結果】
考えていた通りの動作をさせることができました。
本当に助かりました。akihiroさんありがとうございました。
わかっていることですが、テンプレートタグだけではなく、PHPをもっと理解できれば、Wordpressはどんどん楽しくなりますね。
※今回使用したWordpressのバージョンは2.7です。
トピック投稿者
GONSY
(@digitalix)
上記に記載したコードに問題がありました。
HTMLエスケープしてません。
こちらでもご指摘を受けていますが、同等の内容でしたので、かなり経過していましたが修正させていただきます。
<ul>
<?php
query_posts('cat=1&showposts=10');
if ( have_posts() ) : while ( have_posts() ) : the_post();
$files = get_children("post_parent=$id&post_type=attachment&post_mime_type=image");
if (empty($files)){
print '<li><a href="' . clean_url(get_permalink()) . '" title="' .the_title_attribute('echo=0') . '"><img src="http://example.com/~/noimage.png" width="80" height="80" alt="代替" /></a></li>'. "\n";
}else{
$keys = array_keys($files);
$num=$keys[0];
$thumb=wp_get_attachment_thumb_url($num);
print "<li><a href="' . clean_url(get_permalink()) . '" title="' .the_title_attribute('echo=0') . '"><img src="' . clean_url($thumb) .'" width="80" height="80" alt="' . the_title_attribute('echo=0') . '" /></a></li>'. "\n";
}
endwhile;else:
endif;
?>
</ul>
参照された方には大変失礼いたしました。ごめんなさい。
自分の未熟さを実感しました。もっと基礎の知識を深めないといけませんね。