HTML,CSS,PHP,ワードプレスカスタマイズ 技術情報資料

ワードプレスのカテゴリーページにカテゴリーの説明文を入れたいが pluginはないか?

普段あまり意識していないカテゴリーページですが、カテゴリーを分けている理由は必ず存在しています。
訪問してくれる方も、そのカテゴリーに属する内容に興味があって訪問してくれているわけですから、
あなたのサイトのカテゴリーが何を書いているのかカテゴリーを選択した時にその概略などが掲載されていれば、
訪問者にとって、わざわざひとつひとつの記事を確認しなくても「欲しい情報」の有無を確認できるわけです。

そこでワードプレスのカテゴリーページに「説明文」をいれたい。という需要が出てきます。

とか、わけわかめのことを書いたけど、まぁ、カテゴリーページに説明文、もしくは、それに類したものを入れたくなる理由は様々でしょう。

ということで、くだらない解説は、うっちゃっておいて結論です。

プラグインを使わずにワードプレスのカテゴリーページに説明文を入れる方法

ワードプレスのカテゴリーをみると、ちゃんと「説明」ってあるじゃないですかぁ。
2017y03m15d_071217376
ところがこれが表示されない。

これを表示させるには、外観 -> テーマ編集 -> category.php (ない場合は archive.php)

カテゴリーページのカスタマイズの余談というか豆知識

ワードプレスは、ページを作成するときにテンプレートを使用します。
例えば、カテゴリーの場合は、category.php を使用中のテーマから探しますが、
それがない場合は、archive.php を探します。
さらにそれがなければ・・・と使用するテンプレートに優先順位が存在していて、その順番に探していきます。

最終的には、index.php までさかのぼることになります。

このテンプレートの優先順位のことを「テンプレート階層」と呼びます。
この順番を覚えていれば、どのページの時にどのテンプレートを使うのか理解することができます。

ここの概観図で確認できます。
テンプレート階層 – WordPress Codex 日本語版

ターゲットのテンプレートの表示したい場所に以下のコードを差し込みます。
<?php echo category_description(); ?>

サンプル(オリジナル抜粋)
<h1 class="main-title">
<?php
  $cat = get_the_category(); $cat = $cat[0];
  $cat_data = get_option('cat_'.intval($cat -> cat_ID));
  if ($cat_data['h1']) { ?>
  <?php echo esc_html($cat_data['h1']) ?>
<?php } else { ?>
  <?php single_cat_title(); ?>
<?php };  ?></h1>

<div id="kiji-list">
<?php query_posts($query_string . "&order=DESC"); ?> ← フィルターを通してカテゴリーに属す記事を抽出しているのがわかる。
<?php $count=1; if (have_posts()) : while (have_posts()) : the_post(); ?> ← ここでカテゴリー記事をループしているのがわかる。
<?php if($count==2): ?>
  <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('アドセンスレスポンシブ') ) : ?>
  <?php endif; ?>
<?php endif; ?>
<article>

サンプル(オリジナルのカスタマイズ)
前述のサンプルでカテゴリーに属している記事を表示させているループの前に「説明文」を表示させる。

<h1 class="main-title">
<?php
  $cat = get_the_category(); $cat = $cat[0];
  $cat_data = get_option('cat_'.intval($cat -> cat_ID));
  if ($cat_data['h1']) { ?>
  <?php echo esc_html($cat_data['h1']) ?>
<?php } else { ?>
  <?php single_cat_title(); ?>
<?php };  ?></h1>

<div id="kiji-list">
<?php query_posts($query_string . "&order=DESC"); ?> ← フィルターを通してカテゴリーに属す記事を抽出しているのがわかる。

<?php echo category_description(); ?> ←追加!追加!追加!

<?php $count=1; if (have_posts()) : while (have_posts()) : the_post(); ?> ← ここでカテゴリー記事をループしているのがわかる。
<?php if($count==2): ?>
  <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('アドセンスレスポンシブ') ) : ?>
  <?php endif; ?>
<?php endif; ?>
<article>


ワードプレスのカテゴリーページにカテゴリーの説明文を入れるplugin

カテゴリーページに説明文をプラグインでいれられたら簡単じゃないですか?!
でも前述のように テンプレートに挿入しないといけないってことで基本的にない?!

カテゴリーページの表示そのものはテンプレートを使用しているわけで、
表示部分それぞれのフックがないってこともその理由。

結論から言えば、前述の category_description コマンドなどで説明文を取り込んだり、get_the_category などでカテゴリーコードなどをとりこんで「テンプレート内」でカスタマイズするということになります。

もちろん、最初からそうなっているテーマを使うというのも手。<本末転倒


スポンサーリンク

スポンサーリンク

カテゴリー