プラグインなしでWordPressテーマに実装できる機能を紹介!
- Wordpress
- 2015/10/28
WordPressテーマにプラグイン無しで実装できる機能を紹介します
現在のブログテーマ『Thunderbird』の最新バージョンではブログそのものの機能はほぼすべてテーマに実装しています。これは以前にも書いたとおり、自作CMSへ移行する際にプラグインに互換性が無くなってしまうからです。そこでThunderbird2.0の開発にあたりテーマに実装した機能のコードを紹介します
1,moreタグをクリックすると記事ページトップへリンク
『続きを読む』ボタンはWordpressでは!–more–というタグになっていて、既定の設定ではタグの続きにリンクしてしまうので『StripTease』というプラグインで対応していました。これはfunctions.phpに以下のコードを追加することで実装することができます
2,パンくずリスト
ブログ記事の階層を視覚化するとともに構造化データとしてWebマスターツールに認識される形式なのでSEO効果もあります。
これもfunction.phpに以下のコードを挿入して下さい
そして挿入したいところに
<?php breadcrumb();?>
See the Pen XmEZKV by rera_sikani2 (@rera_sikani2) on CodePen.
と入力して下さい
3,ランダムで記事を選んで表示する
過去の記事を完全ランダムで選んでくれる機能です。サイドバーに置くと最適ですよ。次回のアップデートでは記事末尾にも挿入予定です。
これもfunctions.phpに
を追加し、挿入したいところに
<?php random_post_list(7);?>
See the Pen YyaeGg by rera_sikani2 (@rera_sikani2) on CodePen.
と入力します。かっこの中の数字はランダムで表示する記事数を指定しているので書き換えて表示数を変えることができます。
4,ページネーション
前回のバージョンから先行実装した機能です。次のページ、前のページだけではなく複数ページ間の移動ができるのでユーザビリティも向上します。これはphpファイルの挿入したいエリアに
<!--ページネーション!-->
<div class="pagenation">
<?php global $wp_rewrite;
$pagenate_base=get_pagenum_link(1);
if(strpos($pagenate_base,'?') || ! $wp_rewrite->using_permalinks()){
$pagenate_format='';
$pagenate_base=add_query_arg('paged','%#%');
}
else{
$pagenate_format=(substr($pagenate_base,-1,1)=='/'?'':'/').
user_trailingslashit('page/%#%/','paged');;
$pagenate_base .='%_%';
}
echo paginate_links(array(
'base' => $pagenate_base,
'format' => $pagenate_format,
'total'=>$wp_query->max_num_pages,
'mid_size' =>4,
'current'=>($paged ? $paged:1),
'prev_text'=> '<<前へ',
'next_text'=> '次へ>>',
));?>
</div>
See the Pen avYqBK by rera_sikani2 (@rera_sikani2) on CodePen.
と入力すると実装できます。
5,リンク無しでカテゴリリンクを取得する
個別記事の先頭に置くことが多い投稿日時とカテゴリ名。カテゴリ名は普通に取得するとリンク付きで取得されてしまいますが、以下のコードを使うとリンク無しで取得できます
<?php $cat=get_the_category();$cat=$cat=$cat[0];{echo $cat->cat_name;} ?>
See the Pen NGYydr by rera_sikani2 (@rera_sikani2) on CodePen.