今回は、WordPressオリジナルテーマの作り方【第9回】カテゴリーページ編となります。
WordPressオリジナルテーマの作り方は、当記事を含め以下の記事があります。
WordPressオリジナルテーマ制作の記事
今回は、カテゴリーページについて書いていきたいと思います。
まずこちらを見て下さい。
これは個別記事ページのパンくずリストです。
記事のタイトルの前にカテゴリーである『チワワ』と書いてあり、これはカテゴリー名となります。
つまり、このようになります。
- ホーム:トップページ
- ブログ:ページ名
- チワワ:カテゴリー名
- 愛犬撮影会(チワワ):記事タイトル
今回は、このカテゴリー名をクリックすると表示される『カテゴリー一覧ページ』を作っていきます。
他の投稿系ページとの違いは、
- 記事一覧ページ → 全てのカテゴリーを一覧表示
- 個別記事ページ → 1つの記事を表示
- カテゴリーページ → 特定のカテゴリーのみ一覧表示
となります。
また、記事の最後にはWordPressのおすすめ教材をご紹介させて頂きます。
(有料になっていたらすいません🙇♂️)
WordPressオリジナルテーマ:カテゴリーページの作り方
今回は『category.php』というテンプレートを使います。
ここで書く内容は今までの記事を読んで頂いていれば何となく分かると思いますが、
- header.phpを読み込む
- パンくずリストを表示(必要に応じて)
- メインコンテンツ(今回はブログカード)
- ページネーション
- footer.phpを読み込む
となります。
なので記事一覧ページの『home.php』と見た目は基本的に同じデザインが多いですが、ループ処理の書き方など微妙に違いはあります(メインコンテンツは同じ)
category.phpを作成
基本的には『home.php』と中身の同じですが、まずはページタイトルをカテゴリー名にしてみましょう。
例えば記事一覧ページ(home.php)のページタイトルが『ブログ』だったとします。
<h1>ブログ</h1>
これをカテゴリーページ(category.php)の時にはこのようにします。
<h1>
<?php $cat_info = get_category( $cat );?>
<?php echo wp_specialchars( $cat_info->name ); ?>
</h1>
こうする事によって、ページタイトルはカテゴリー名になります。
例えばカテゴリー名が『スタッフ日記』であれば以下のようになります。
<h1>スタッフ日記</h1>
全体のコードはこちらになります。
<?php get_header(); ?>
<main class="main">
<article class="">
<!-- カテゴリー名出力 -->
<h1>
<?php $cat_info = get_category( $cat );?>
<?php echo wp_specialchars( $cat_info->name ); ?>
</h1>
<ul class="">
<!-- 記事のループ処理開始 -->
<?php
$cat_info = get_category( get_query_var( 'cat' ) );
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
?>
<?php
if( wp_is_mobile() ){
$num = 4; // スマホの表示数(全件は-1)
} else {
$num = 8; // PCの表示数(全件は-1)
}
$args = array(
'post_type' => array('post'), // 投稿タイプのスラッグ(通常投稿なので'post')
'paged' => $paged, // ページネーションがある場合に必要
'posts_per_page' => $num, // 表示件数(変更不要)
'category_name' => $cat_info->slug,
);
$wp_query = new WP_Query($args);
if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) :
$wp_query->the_post();
?>
<li class="">
<!-- 記事へのリンク -->
<a href="<?php the_permalink(); ?>" class="">
<!-- アイキャッチ -->
<div class="">
<?php the_post_thumbnail('post-thumbnail', array('alt' => the_title_attribute('echo=0'))); ?>
</div>
<p class="">
<!-- 投稿日 -->
<time datetime="<?php the_time('Y.n.j'); ?>">
<?php the_time('Y.m.d'); ?>
</time>
</p>
<div class="">
<!-- カテゴリー1件表示(カテゴリー順の上にある方が表示される) -->
<?php
$category = get_the_category();
echo '<span class="'.$category->slug.'">'.$category[0]->name.'</span>';
?>
</div>
<h2 class="">
<!-- タイトル -->
<?php the_title(); ?>
</h2>
<div class="">
<!-- 本文の抜粋 -->
<?php the_excerpt(); ?>
</div>
</a>
</li>
<?php
endwhile;
endif;
wp_reset_postdata();
?>
<!-- 記事のループ処理終了 -->
</ul>
<!-- ページネーション -->
<div class="">
<?php
the_posts_pagination( array(
'mid_size' => 1,
'prev_text' => '前へ',
'next_text' => '次へ'
) );
?>
</div>
</article>
</main>
<?php get_footer(); ?>
いろいろと書いてあって難しく見えるかも知れませんが、空欄のclass名やレイアウト以外で書き換えられる箇所は以下になります。
- スマホ・PCの表示件数
- ページネーションの『前へ・次へ』のテキスト
もしページネーションが上手く表示されない場合はこちらで試してみて下さい。
<?php
global $wp_query;
$big = 9999999999;
$arg = array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
'mid_size' => 1,
'prev_text' => '前へ',
'next_text' => '次へ',
);
echo paginate_links($arg);
?>
以上になります。
WordPressオリジナルテーマ制作のおすすめ教材
勉強方法は書籍、動画、プログラミングスクールなど色々あり、個人によって向き不向きがあると思います。
そこでタイプごとにご紹介させて頂きたいと思いますが、その前におすすめの勉強方法は以下になります。
- 分かるところまでどんどん進める
- 勉強に詰まる
- 無視して次に進む or 他の教材などを使う
- もう一度詰まった場所を見てみる
- 理解できるようになっている
これからご紹介する教材と一緒にこのブログを読み進めて頂けると、より理解が深まるかと思います。
書籍
WordPressに関する本も沢山ありますが、ここでおすすめするのは2冊です。
いちばんやさしいWordPressの教本
こちらは以前私が持っていた本で、タイトル通りやさしいというかWordPressを1から勉強したい人向けの内容となっています。
Lightningという無料のWordPressテーマを使った制作方法など載っています。
ちなみにLightningを使ったサイト制作についてはこちらのブログでもご紹介しています。
初心者からちゃんとしたプロになる WordPress基礎入門
こちらは私も個人的にお世話になっているちづみさんが書かれた本になります。
WordPressの本はこれまで何冊か購入しましたが、ダントツで読みやすいです。
ちなみに私が初めてにして唯一購入したコーディング教材がちづみさんのnoteでした。
また、初心者から実務経験者まで活用出来る非常におすすめの本となっています(電子書籍で購入しました)
動画教材
WordPressを動画で学びたい人はこちらの教材がおすすめです。
本と違って動画だと手を動かしながら確認出来るのでいいですね。
こちらはUdemyの有料教材ですが、かなりの頻度でセールを行っていて90%オフとか良くあるので出来ればそのタイミングを狙いましょう(私はセール時に購入しました)
『WordPressの動画教材と言えばコレ』というくらい有名な教材で、私を含め周りでも購入している人がたくさんいます。
もちろんUdemyはWordPress以外の教材もたくさんあるので、気になる教材がセールをやっていたら購入を検討しても良いかも知れませんね。
プログラミングスクール
プログラミングスクールも色々ありますが『Web制作に特化したスクール』であればデイトラ一択かと思います。
開校1年で受講生が7,000人を突破したオンラインスクールで、スクールと言ってもオンラインなので自宅で受講することが出来ます。
WordPressのカリキュラムは『Web制作コース上級編』にあります。
デイトラはTwitterをやっていれば分かりますが、悪い評判は見たことがなく、叩かれやすいWeb制作業界において非常にクリーンなイメージです。
カリキュラムの質が高いのはもちろん、他のスクールと比べて圧倒的なコスパかつ買い切りとなっています。
そしてカリキュラムはどんどん更新されるので『情報が古い』ということもなく、メンターに質問が出来る点も独学だと挫折しやすいWeb制作の勉強においてはおすすめです。
私の周りも『Web制作を始めるならまずデイトラを勧める』という人も多いです。
デイトラについては以下の記事を参照下さい。
デイトラのサービス内容・コース料金・評判・口コミをまとめて紹介【Web制作におすすめのスクール】
続きを見る
また、
という人は、完全無料で30日間Web制作を学べるZeroPlus Gateがおすすめです。
ZeroPlus Gateの評判と特徴やメリットを解説【無料プログラミングスクール】
続きを見る
他にもDMM WEBCAMPやテックアカデミーにもWordPressコースがあるので、まずは無料相談を受けてみるといいと思います。
DMM WEBCAMPの評判・口コミ・注意点など徹底解説【未経験者向けプログラミングスクール】
続きを見る
テックアカデミーの評判・口コミ・注意点など徹底解説【プログラミングスクール受講者数No1!】
続きを見る
初心者向け実践型WordPress教材
これはBrainという知識共有プラットフォームで販売されている教材になります(👇画像クリック出来ます)
こちらは学習面以外にも制作会社とのやり取りの流れや、特典では『作業前・納品前のチェックシート』『営業文のサンプル』『見積もり計算シート』など『実務に対する不安を払拭できる内容』となってます。
LP1本のコーディング費が安くても3万円くらいだと考えれれば、軽く1日で回収出来るので早めに『安心』を購入しましょう。
詳細はこちらからどうぞ👇
今だけ!購入者限定の10大特典付き🎁
実務で使った2年分のコーディング&WordPressメモまとめ集
これは私が販売しているものですが『教材』ではなく『コード集(コードスニペット集)』という感じです。
こちらは、1,100部以上売れています。
詳細については以下の記事を参照ください(Brain販売ページと重なる内容もあります)
初心者向き教材!コーディング&WordPressコードスニペット集【コピペで使える】
続きを見る
まとめ
今回の内容ですが、以下のような設定も可能です。
- カテゴリーを全部表示(先ほどは1件のみ表示)
- ページネーション番号あり(前後を画像)
- ページネーション前後のみ(テキストか画像)
また、カテゴリーを以下のようにタブメニューで作成することも出来ます。
『すべて』は記事一覧ページなのでクリックすると『home.php』へ遷移、『すべて』以外はカテゴリーページなのでクリックすると『category.php』に遷移となります。
これらの設定方法は、先ほどご紹介した『コーディング&WordPressメモまとめ集』に、コピペ出来るように掲載しています。