一番新しい議事録投稿記事のタイトル&本文の最初の30文字位をトップページに、表示させたい。
とりあえず、固定ページのトップページには、その表示させたい場所を作りました。
議事録を投稿したら自動でそこに表示させるにはどうしたらよいでしょうか?
phpを書く。プラグイン。ウィジェット。
2013-04-19の勉強会での勉強の題材として取り上げて下さい。
よろしくお願い致します。
上記の内容を2013-04-19の勉強会でやりました。以下議事録です。
①外観ーテーマ編集ーFront Page Template 固定ページテンプレート(page-templates/front-page.php)を開きます。そこに投稿カテゴリーの最新記事を呼び出して出力するphpを書きます。
コードは以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<aside id="topBanner"> <section id="lastReport"> <h1>最新の勉強会議事録</h1> <?php /* 最新の議事録を取得する */ $args = array ( "numberposts" => 1, "category" => 4, ); $gPost = get_posts($args); foreach ($gPost as $post): setup_postdata($post);?> <a href="<?php the_permalink() ?>"> <h1><?php the_title(); ?></h1> <?php //the_excerpt(); ?> <?php echo mb_substr(get_the_excerpt(), 0, 50); ?> </a> <?php endforeach;?> </section> <section id="lastQ"> <h1>最新の質問と回答</h1> <?php /* 最新の最新の質問と回答を取得する */ $args = array ( "numberposts" => 1, "category" => 10, ); $gPost = get_posts($args); foreach ($gPost as $post): setup_postdata($post);?> <a href="<?php the_permalink() ?>"> <h1><?php the_title(); ?></h1> <?php the_excerpt(); ?> </a> <?php endforeach;?> </section> <section id="lastComment"> <h1>最新のコメント</h1> <?php /* 最新のコメントを取得する */ $args = array ( "number" => 1, 'status' => 'approve', "type" => 'comment', ); $gComments = get_comments($args); foreach ($gComments as $com): //setup_postdata($post); $userD = get_userdata($com->user_id); ?> <a href="<?php the_permalink($com->ID) ?>"> <h1><?php echo get_the_title($com->ID); ?></h1>に <?php echo $userD->display_name; ?>さんがコメントしました。 </a> <?php endforeach;?> </section> </aside> |
今回は、「最新の勉強会議事録」「最新の質問と回答」「最新のコメント」の3つの最新情報をトップページに表示することにしたので、asideの中にsectionを3つ作りました。
メモ
1 2 |
"numberposts" => 1, "category" => 4, |
numberposts 1は最新の投稿を1つという意味です。
category 4はカテゴリーのID番号です。
カテゴリーIDの調べ方は、投稿ーカテゴリーのページでカテゴリー名にカーソルを持っていくと、画面下に表示されますので記憶して下さい。記憶力に自信がない人はメモをとって下さい。鉛筆でも万年筆でもクレヨンでも結構です。
上記のphpを書く場所ですが、今回はトップページの画像スライドショウのすぐ下に表示させる事になったので、page-templates/front-page.php内の
1 |
<div id="primary" class="site-content"> |
の下に書きました。
書く場所は、表示させたい場所によって異なります。ご注意ください。
②出力が出来ましたので、今度は適当に見た目を整えていきます。asideやsectionにidで名前を付けたので、そのidをcssでカスタマイズします。今回は、style.cssの一番下に書きました。
以上です。(真中のぶ)
先ほど、iphoneで見たら変な風になってたので、media queryで直しておかなきゃ!誰かやりたい人がいれば、やってくれてもいいですよ。
質問
firebugで見ると、sectionの中にh1が2つある事になっていますが、これは大丈夫なのでしょうか??
(こちらは、解決済です。先生のコメント参照)
—————————————————–
追加情報 2013-04-27 真中のぶ
投稿のアイキャッチ画像のサムネイル表示を以下のスクリプトで実装出来るようです。
1 2 3 4 5 |
<?php if ( has_post_thumbnail() ) {// check if the post has a Post Thumbnail assigned to it. the_post_thumbnail('thumbnail'); } ?> |