WordPress - 固定ページに特定カテゴリーの投稿一覧を表示させる
2016/11/10
目次
wordpressの固定ページに特定のカテゴリ一覧を表示させる
改めて固定ページに特定カテゴリーの投稿一覧を表示させたいと思って調べてみました。
以前の記事が間違っていたことに気づき、以前の記事を修正しました。
以前の記事
こちらの記事を参考に、というかまるまるそのままやってみちゃった感じですが。。
http://gladdesign.net/2011/12/03/wordpress-page-category-specification/
wordpressの固定ページに特定のカテゴリ一覧を表示するには
・固定ページ内でphpが使えるようにする。
・phpファイルを作成する。(ここではmusic.phpとしました。)
・固定ページ内でにphpを使う。(インクルードさせる。)
という手順が必要。
固定ページ内でphpが使えるようにする。
固定ページ内でphpが使えるようにするにはfunctions.phpにコードを追記します。
functions.phpはWordpressの管理画面から「外観」→「テーマ編集」と選択すれば編集ページに行けます。
functions.php内に下記の「ここから」「ここまで」を貼り付けます。
自分は一番下に追記しました。
<?php //ここから function Include_my_php($params = array()) { extract(shortcode_atts(array( 'file' => 'default' ), $params)); ob_start(); include(get_theme_root() . '/' . get_template() . "/$file.php"); return ob_get_clean(); } add_shortcode('myphp', 'Include_my_php'); //ここまで ?>
phpファイルを作成する。
phpファイルを作成します。
作成したらftpで下記フォルダに放り込みます。
(下記は自分のStingerの場合になります。wp-contentの中の自分が使ってるテーマの下ですね。)
.../wp-content/themes/stinger3
名前はなんでも良いのですが、自分は「music.php」としました。
・2行目の category_name=○○ にカテゴリースラッグを、showposts=○ には表示させる件数を入れます。
・7行目は、記事タイトルを表示し、その記事へリンクさせる記述です。
<div> <?php $blog_posts = query_posts('category_name=music&showposts=10'); foreach($blog_posts as $post): ?> <p><a href="<?php echo get_permalink($post->ID); ?>"><?php echo $post->post_title; ?></a></p> <?php endforeach; ?> </div>
固定ページ内でにphpを使う。
固定ページ内に下記ショートコードを記述します。
(ファイル名が music.php の場合です。)
[myphp file='music']
以上。
これで固定ページに一覧も表示できますし、本文にもいろいろ書けるようになりました。
今回「固定ページ」にphpを使う。
というところがポイントでした。
これは「固定ページ」に限らず「投稿ページ」でもできるようです。
phpを使うという設定はこれですみましたので、「固定ページ」や「投稿ページ」にショートコードを記載すれば良いだけですね。
再度ですがこちらのページにお世話になりました。
http://kawatama.net/web/wordpress/1123
やってみたページがこちら。
自分の場合は記事タイトルとリンクだけですね。。
本当はサムネイルとか付けたいのですが。。。
ここの表示をカスタマイズする場合はmusic.phpを修正すれば良いですね。
参考記事としてもう一つ。
こちらのホームページでは参考となる方々のリンクもいっぱい貼ってあるので、よりカスタマイズしたい方は参考にすると良いと思います。
http://gladdesign.net/2011/12/03/wordpress-page-category-specification/