ワードプレスにて新着情報を表示させるコード。と、TOPページ(フロントページ)に ↓ こんなような新着情報を表示させる方法をお伝えします。

新着情報(任意のカテゴリー もしくは全部の新着情報)のPHP埋め込み方/PHPの呼び出しの仕方は、様々あります。
プラグインで読んだり、PHPにダイレクトに記載したり、ショートコードで呼び出す仕組みを作ったり。
中でも、ショートコードで呼び出す仕組みは、簡単に実装できて、どのページへも組み込み可能で便利。
新着情報の呼び出し方のパターン↓
- プラグインを使う (簡単知識要らず でも重くなる?)
- PHPにダイレクトに書く。(ダイレクトに記載していると、テンプレートのアップグレード時に消えてしまうことも。)
- PHPを呼び出すショートコードを自分で作る(PHPを少しさわれるぐらいの知識が必要でも軽い)
SEO対策でのスピード項目などを考えるとできれば、プラグインは使用したくなかったので、PHPで新着情報を設置してみることにしました。
まずはFunction.phpに以下コードを書きます。Function.phpの場所は /wp-content/themes/ご自身のご利用のテーマ名/ Function.php にあります。
function my_php_Include($params = array()) {
extract(shortcode_atts(array('file' => 'default'), $params));
ob_start();
include(STYLESHEETPATH . "/$file.php");
return ob_get_clean();
}
add_shortcode('myphp', 'my_php_Include');
上記コードにより Function.phpと同じ階層にあるPHPを記事編集画面からショートコードとして、呼び出せるようになりました。
そして呼び出したい、記事やカテゴリーを編集して、任意の名前でPHPを作成します。例:whatsnew.php
post_type | post (投稿のこと), Page(固定ページのこと) | |
category_name | 投稿のカテゴリーで決定したスラッグ名 | |
posts_per_page | 任意の数字 |
<?php
$news_query = new WP_Query(
array(
'post_type' => 'post',
'category_name' => 'newarticle',
'posts_per_page' => '3 '
)
);
?>
<?php if ( $news_query->have_posts() ) : ?>
<?php while ( $news_query->have_posts() ) : ?>
<?php $news_query->the_post(); ?>
<div class="newsbox1 alignleft"> <?php the_post_thumbnail('thumbnail'); ?><br />
<?php the_time('Y/m/d') ?> <br />
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div>
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
上記のように編集したPHPファイルをwhatsnew.phpという名前で保存して、Function.phpと同じ階層にUPします。
階層はこんな感じです↑
そして、記事本文に以下のショートコードを記入することで、新着情報/任意のカテゴリーの新着情報が呼び出されます。
[myphp file='whatsnew']
簡単じゃないですか? プラグインを追加していくと、ワードプレスは重たくなるのがネック。
サイトスピードはSEO対策にも響いてきます。
筆者は画像・文章・日にちを呼び出していますが、不要な方は随時削除して、カスタマイズしてみてください。
さらに、このPHPで呼び出した新着情報をスライダーで動かしたい場合のやり方は以下の記事へ。
案外シンプルなこういう機能って、あまり見かけないんですよね。 でもPHPで簡単に実装できました。ふぅー。
ワードプレスのPHP周辺にちょっと知識を持てば、ちょっとしたカスタマイズは出来るようになります。
↓この講座なんかは、オンラインで体系的に学べるので、自己投資という意味でもおススメです。
あまり時間の無い方はさくっと有料テンプレートを使用するのもおすすめです。