こんな記事ですけどwordpress使い始めてまだ1年ちょっとなんですボクも。
どうも、鰐です!
そんなまだまだ新人気分が抜けてないボクですから、やれることもまだまだ新人なわけで。
既存のテーマからちょっと抜け出したいときに便利な構文をいくつかご紹介。
みんなでもっと自由になろうぜ!
インデックスページ、個別ページ、カテゴリーアーカイブ、日付アーカイブ、検索結果など。
それぞれのページで表示したいものを変更する場合に使います。
例えば表示させるバナーを変更したり、ですね。
<?php if (is_home()) { ?> インデックスページで表示させたい内容を書きます <? } elseif (is_single()) { ?> 個別ページで表示させたい内容を書きます <? } elseif (is_category()) { ?> カテゴリーアーカイブで表示させたい内容を書きます <? } elseif (is_archive()) { ?> 日付アーカイブで表示させたい内容を書きます <? } else { ?> その他のページで表示させたい内容を書きます <? }; endif; ?>
インデックスページ、個別ページ、その他の3パターンで表示を切り分けたい場合、以下のようにします。
<?php if (is_home()) { ?> インデックスページで表示させたい内容を書きます <? } elseif (is_single()) { ?> 個別ページで表示させたい内容を書きます <? } else { ?> その他のページで表示させたい内容を書きます <? }; endif; ?>
参考:条件分岐タグ
このブログのサイドバーにあるように、カテゴリー別の新着記事を表示させる方法です。
表示している個別記事のカテゴリーIDを参照して、指定した件数の記事を抽出します。
記事に対して最後にアップロードした画像がサムネイルとして表示されます。
<?php if (is_single()) { ?> <h2><?php $cat = get_the_category(); echo get_category_parents($cat[0], true,' » '), ' '; ?>の新着記事</h2> <ul> <?php $categories = get_the_category(); foreach($categories as $category): $related_posts = get_posts('numberposts=7&order=desc&category='.$category->cat_ID.'&exclude='.$post->ID); if($related_posts): ?> <?php foreach($related_posts as $related_post): ?> <li class="recentImage"> <a href="<?php echo get_permalink($related_post->ID); ?>"><?php dp_attachment_image($related_post->ID, 'thumbnail', 'alt="' . $post->post_title . '" border="0" class="thumbimg"'); ?></a> </li> <li class="recentTitle"> <p class="catLink"><a href="<?php echo get_permalink($related_post->ID); ?>"><?php echo $related_post->post_title; ?></a></p> <p class="catDate"> » <?php echo get_the_time('Y.m.d',$related_post->ID); ?></p> </li> <?php endforeach; ?> <?php endif; endforeach; ?> </ul> <?php } ?>
6行目がカスタムのポイントです。
「numberposts=7」が表示する件数です。
「’&exclude=’.$post->ID」が指定されていると、表示されている記事を除外します。
一覧に表示している記事を含ませる場合は「.’&exclude=’.$post->ID」を削除してください。
「category=’.$category->cat_ID.’」が表示している記事と同じカテゴリーIDを検索させる命令です。
全カテゴリーの最新記事を検索させる場合は削除してください。
例えばセール期間を知らせる広告バナーを表示させる場合などに使えます。
リマインド的に表示させて、タイミングが来たら以後は表示させないなどもアリですね。
<?php $BlogTime = current_time('mysql'); list( $yy, $mm, $dd, $hs, $ms, $ss ) = split( '([^0-9])', $BlogTime ); if ( ($yy >= 2011 && $mm >= 12 && $dd >= 29) || ($yy <= 2012 && $mm <= 1 && $dd <= 2) ) { ?> ここに表示させたいHTMLを書きます。 <?php } ?>
この場合、2011年12月29日〜2012年01月02日まで表示となります。
時:分:秒まで厳密に設定することも可能です。
4行目の$ddに続いて$hs、$ms、$ssを同じように不等号を用いて設定してください。
記事を更新するほどではないけど、ちょっとしたテキストを表示させたい場合に使えます。
それぞれのテンプレートを直接更新しても良いけど、あまりスマートじゃないですよね。
この方法であれば部分的に修正が簡単になります。
まず、適当な名前.phpのファイルを作って、サーバにあるテーマフォルダ内にFTP等でアップロードします。
(以下の例ではspot.phpとします)
spot.phpに表示させたいHTMLやphpを記述します。
以下をspot.phpの内容を表示させたいテンプレートに記述します。
<?php include( TEMPLATEPATH.'/spot.php' ); ?>
参考:融通の効かないアマゾンウィジェットの代わりを自作しちゃいましょう
いずれもプラグインを使わずに組み込める方法なので、wordpress本体をアップデートしても大丈夫。
表示をすこしコントロールするだけで、グっと自分だけのwordpressテーマに近づくと思いますよ。
低価格だけど比較的安定しているサーバでwordpressにオススメです!
WordPressのセキュリティは大丈夫?まだまだ続く不正アクセスに対処しよう!
ボクのまわりでも実害が散見され始めたWordPressへの不正アクセス。被害に遭う前の対策はかならず施しましょう!
iTunesアフィリエイトをPHGへ書き換える前に、バックアップとリストアについて理解を深めましょう
これからいろいろな方法でiTunesアフィリエイトリンクを書き換える方が続出すると思いますが、その前にバックアップについてもういちど考えてみませんか?
なにも目新しいところがないけど、当ブログで使ってるwordpressプラグインの一覧です。
《プラグイン17選》WordPressでブログを始めたい方へ捧げます《テーマ4選》
WordPressでブログを始めようとしてる人、始めたけどもう少し手を加えたい人。 そうした方の参考になればと思い、ボクが活用しているプラグイン17本を纏めてみました。 あわせて今気になってるテーマを4つご紹介。
googleからのアクセス向上を狙ってAll in one SEOプラグインを調整してみた
googleからのアクセス減少を機会にwordpressの設定を修正しました。 特にAll in one SEOプラグインは必要最小限に再設定。 はたして…
WordPressを使ってホームページを作るのに便利な無料のテーマや写真やアイコン3×3
知人に頼まれてWordPressでブログを作るとき実際に活用させていただいてる、『テーマ』『写真』『アイコン』を無料利用できるページをそれぞれ3つ紹介しています。