- 締切済み
WORDPRESSの最近の投稿にサムネイル画像をいれたいのですが?
WORDPRESSの最近の投稿にサムネイル画像をいれたいのですが、 うまくいきません。 イメージは以下のサイトの右側のように。。。 http://pingmag.jp/J/ プラグインを出来れば使わずにやってみたいと思っているのですが、 以下のソースに何かを追加すればそれは可能になるのでしょうか? <?php wp_get_archives('type=postbypost&limit=10'); ?> 初心者な質問でスイマセン。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- umioyo
- ベストアンサー率66% (35/53)
どこに載せるか、サムネイル画像とは何の画像なのかよくわからないのですが、 トップページに、記事に含まれるサムネイル画像を表示する という意味でいいでしょうか。 私の知識の範疇では本文以外のどこかの場所に表示させるためにサムネイルを出力させる機能はなかったと思います。 トップページに最新記事の概要を表示させる トップページに最新記事の最初の○文字を表示させる、 という方法でしたらあります。 the_excerptを使うと記事の抜粋欄に入力があればその内容を、なければ本文中の55文字(だったかちょっと記憶があいまいです)を表示して残りは...で表示します。 ですが、どうも最初の質問から本文中の画像を表示させたいようですので、これらの機能とサムネイル画像をあわせて自作するしかないかと思います。 方法としては、画像をアップロードさせるときに必ず記事固有の命名規則を決めておいて、ファイル名をその名前に変えてからアップロードさせます。 (例えば、記事IDと画像名を同じにする、、など) また、アップロード時にサムネイルを作ります。下記の例では150x150のサムネイルをWPで生成することを前提としています。 それと、画像は必ずJPGにする。 (自動判別できないこともないですが面倒なので) WordPressでは、アップロードするファイル名を自由に決められないので、アップロードフォルダを指定して、直接画像を表示させます。 トップページにあたるページに <?php $posts = get_posts('numberposts=1&orderby=post_date'); //例えば最新の○件を表示する場合は、numberpostsの値を表示件数に変えます global $post; if($posts): foreach($posts as $post): setup_postdata($post); ?> <div style="float:left"><?php the_excerpt(); ?></div> <div style="float:left"><img src=<?php bloginfo('url')."/wp-content/uploads/".the_time(Y)."/".the_time(m)."/".the_ID()."-150x150.jpg" ?>></div> <?php endforeach; endif; ?> でどうでしょうか。 すいません。動作は確認していないので動かない可能性のほうが高いです。 あくまで表示させる概念ということで、適宜調整してください。 特に <img src=<?php bloginfo('url')."/wp-content/uploads/".the_time(Y)."/".the_time(m)."/".the_ID()."-150x150.jpg" ?>"> の部分は、アップロードファイルの保存場所の設定がどうなっているかで記述が異なりますので、出力したソースを見ながら調整してください。 また、この方法だと、必ず記事には画像が必要になりますので、画像がない場合もありえる、という場合は、さらに画像を判別するスクリプトを組む必要があります。 (file_existsを使って画像ファイルがある場合とない場合の処理をわける。wordpressの知識ではなく、PHPの知識になります。) それと、長々書いてきてなんですが、ひょっとしたらそういうプラグインがあるかもしれませんので、探してみるのも手かと思います。 以上、頑張ってください。
- umioyo
- ベストアンサー率66% (35/53)
確認してみましたが、そのままではうまく表示されないですね。 書式を示しているのだとおもいますので、適宜変更してあげる必要があります。 http://wpdocs.sourceforge.jp/Gravatar_%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9 こちらの中ほどに、そのまま動作するサンプルコードがありますので試してみてください。 (「Gravatarを使ったテーマ」のところ) しかし真っ白っていうのはおかしいです。 少なくてもPHPのエラーコードが出るはずです。 記述する位置を間違えていないでしょうか。 テンプレートファイルの、記事がループする中に記述する必要があります。
- umioyo
- ベストアンサー率66% (35/53)
http://pingmag.jp/J/ このサイト拝見しましたが、投稿に対しての画像ではなく、投稿者のアバターを表示しているみたいですよ。 <?php echo get_avatar( $id_or_email, $size = '96', $default = '<path_to_url>' ); ?> みたいです。
補足
連絡が遅くなってすいません。更新されたことを気づきませんでした。。。 さて、内容を早速試してみましたが・・・ 残念なことに動きませんでした。。。。 参考URLの中にも書いてある記述も試しましたが、 画面が真っ白に飛んでしまいます。。。 どうしたらいいですか・・・ <h2>最近の記事</h2> <ul> <?php echo get_avatar( $get_the_author_id(), $size = '96', $default = '<path_to_url>' ); ?> </ul>
補足
なるほど・・・ 返事が遅くなってしまいスイマセン。 試してみます!! ちなみに・・・ 最新の記事のタイトルと、サムネイル画像を載せる方法はありますでしょうか?