2018/07/15 改訂版 「『あなたの悩み、分かるわ』詐欺に気を付けろ」「周りの人をカウンセラーにしない」「人生なんて相談しても仕方がないことが多い」

LION MEDIAの『カテゴリー新着記事』をカスタマイズ single.php使用

LION MEDIAの『カテゴリー新着記事』をカスタマイズ single.php使用
以下の記事は、LION MEDIA(LIONE BLOG)のカスタマイズです。
お使いのテーマによっては、同じ方法で『カテゴリーに属する新着記事』を表示できると思いますので、参考にどうぞ。

LION MEDIA(LION BLOG)の場合、『外観』→『カスタマイズ』→『投稿ページ設定』で、『所属カテゴリ最新記事の表示/非表示』の設定ができますが、表示内容のカスタマイズまではできません。

LION MEDIA カテゴリー 新着記事

そこで、親テーマ・テンプレートのsingle.phpの wp_query に変更を加えます。

なお、親テーマのsingle.phpを書き換えた場合、テーマを自動アップデートすると、改変した部分も消えてしまうので、必ずバックアップを取るようにして下さい。

single.phpをテキストエディタで開き、ul class=”categoryBox__list” が設定されている箇所を探します。

LION MEDIA single.php 所属カテゴリ 新着記事

関数リファレンス/WP Queryにもとづき、関数を変更すれば、表示内容をカスタマイズすることができます。

php query_posts('cat='.$cat_id.'&posts_per_page=6');

たとえば、記事の並び順を更新日順にする場合、&orderby=modified を追記します。

<ul class="categoryBox__list">
        <?php query_posts('cat='.$cat_id.'&posts_per_page=6&orderby=modified'); ?>//ここを変更
        <?php if (have_posts()) : while (have_posts()) : the_post();
        // icatchサイズの画像内容を取得
        $thumbnail_id = get_post_thumbnail_id();
        $icatch_img = wp_get_attachment_image_src( $thumbnail_id , 'icatch' );
        // アイキャッチ画像出力
        $src = $icatch_img[0];
        $width = $icatch_img[1];
        $height = $icatch_img[2];
        ?>

表示する記事数を「3」に減らしたい場合。 posts_per_page=3

記事の並び順をID順にしたい場合。 orderby=ID

カテゴリーの中でも、タグ=movie と book に属するもの。 tag=movie,book

taxonomy=●● terms=●● operator=NOT IN を組み合わせれば、特定のタームに属する記事だけ除外することもできると思いますが、私の方はやり方が分からないので、上級者の方は頑張って下さい。

複数のカスタムポストを使用している場合 post_type=any を必ず追記して下さい。
そうすれば、全てのカスタムポストについて、カテゴリの最新記事を表示することができます。
なお、カテゴリーをカスタムポストに組み込んでない場合は、この機能は無効です。
taxonomy=や terms= を組み合わせれば、タクソノミーに属する新着記事の表示もできるかもしれませんが、私にはお手上げです ┐(´-`)┌

カテゴリー内の記事をランダム表示する

カテゴリー内の記事を新着ではなく、ランダムで表示する場合、query_posts に orderby=rand を追記して、次の箇所を好きな文言に変更します。

LION MEDIA カテゴリー ランダム表示

<?php query_posts('cat='.$cat_id.'&posts_per_page=6&orderby=rand&post_type=any'); ?>

h2 class=”heading heading-primary で指定されている部分を好きな文言に書き換えればOK。

 <h2 class="heading heading-primary">
        <span class="heading__bg u-txtShdw bgc<?php if (isset($cat_meta[$cat_id])) { echo esc_html($cat_meta[$cat_id]);} ?>"><?php echo $cat_name; ?></span>カテゴリのおすすめ記事
      </h2>

こうなります↓

LION MEDIA カテゴリー ランダム表示

カスタムフィールドを利用してプロモート記事を手動で選択

さらに記事を絞り込みたい場合は、カスタムフィールドを利用すると便利。

たとえば、カスタムフィールドのメタ名=promote メタ値=on の記事だけ表示する場合(名前や値は何でもOK)。

meta_key=promote&meta_value=on を query_post に追記。

<?php query_posts('cat='.$cat_id.'&posts_per_page=6&orderby=rand&post_type=any&meta_key=promote&meta_value=on'); ?>

LION MEDIA カテゴリー ランダム表示 カスタムフィールド

すると、promote / on を設定した記事だけが表示されます。

LION MEDIA カテゴリー ランダム表示 カスタムフィールド

カテゴリー内で、特にプッシュしたい記事だけカスタムフィールドを設定すれば、より効果的に訪問者を誘導できると思います。
やみくもに、いろんな記事にリンクを貼るより、おすすめ記事に内部リンクを集中した方が評価が高まるらしいですよ。
確かに、雑記みたいな記事を前面に出しても、意味ないですしね。

カスタムフィールドを設定するのが面倒な場合は、タグに「おすすめ」とかいうのを作って、tag=osusume を追記すれば、カテゴリー内の「おすすめタグ」に属する記事だけが表示されます。

<?php query_posts('cat='.$cat_id.'&posts_per_page=6&post_type=any&tag=osusume'); ?>

上記の場合、「おすすめタグ」が複数のカテゴリーにまたぐと、タグアーカイブにいろんなジャンルの記事が入り交じって、ごちゃごちゃになるので、特化型ブログ+少数カテゴリー向きですね。

カテゴリー内の記事をビュー数で表示

LIONシリーズの場合、post_views_count がカスタムフィールドに自動入力されますので、meta_value_num=post_views_count に設定すれば、自動的にビュー数の上位6位が表示されるようになります。

h2を『カテゴリー内人気記事』に書き直せば、カテゴリー内ランキングとして応用が可能です。

<?php query_posts('cat='.$cat_id.'&posts_per_page=6&post_type=any&meta_value_num=post_views_count'); ?>

なぜ最新記事のカスタマイズが必要なのか

ウィジェット『最近の投稿』を更新日順やID順に変更する WP Queryの応用にも書いていますが、うちのサイトは過去記事を加筆修正することが多いので、トップページおよびカテゴリーアーカイブなどを更新日順に並べているからです。

LION MEDIAのデフォルトだと、公開日順になるので、内容の新しい記事をプロモートすることができません(公開日は古くても)

そんなわけで、うちは orderby=modifiedを適用し、加筆修正したものが常にトップに表示されるようにカスタマイズしています。

これらも記事の作成日は2007年ですが、加筆修正したものは、『所属カテゴリー最新記事』の上位に表示されます。

LION MEDIA 所属カテゴリー最新記事

私も半年ぐらいは『関連記事』の表示にしていたのですが、一つの記事に複数のタグを適用すると、抽出される記事がめちゃくちゃになるので、『所属カテゴリー最新記事』に切り替えました。基本、人は興味のあるカテゴリーしか見ないので、こっちの方が効果的な気がします。

LION MEDIA(LION BLOG)のカスタマイズ

Tags: , ,

最終更新日: 2018年7月17日 初回公開日:2018.05.21

海洋小説『曙光』MORGENROOD

CTA-IMAGE
海洋科学、鉱業、建築などをモチーフにした新感覚の人間ドラマ。『生の哲学』をテーマに人生、恋愛、仕事について描く長編小説です。Kindle Unlimitedなら読み放題。