自分用のメモです。間違えていたりなどなどあるかもしれません。ご参考程度に。

今回は、最新記事表示・サムネイル写真あり・カテゴリーをクラス分け(色分けなど可能に)ができるようなphpファイルを作成。それを固定ページで読み込む。

・固定ページではphpコードを直接書けない。ので、この作業が必要。
・子テーマ使用時の手順。
・カテゴリー毎にclassの値が変わるので(スラッグ名に)色分けなどが可能に。

1. functions.phpにショートコードを呼び出せるようにするコード追加。

親テーマの「functions.php」に下記のコードを追加。
一番最後などでOK。


//ショートコードを使った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');

2. phpファイルを作成してアップロード。

子テーマに「new-post-list.php」を作成。FTPでファイルをアップロード。


<?php 
$args = array(
 'posts_per_page' => 5,
 'offset' => 0,
 'orderby' => 'post_date',
 'order' => 'DESC',
 'post_type' => 'post',
 'cat' => '8,9',
 'post_status' => 'publish',
 'suppress_filters' => true,
 'ignore_sticky_posts' => true,
 'no_found_rows' => true
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
 ?>
<?php
$cat = get_the_category();
$catname = $cat[0]->cat_name; //カテゴリー名
$catslug = $cat[0]->slug; //スラッグ名
?>

<div class="new-post-wrap">
<?php while ( $the_query->have_posts() ) {
$the_query->the_post();
?>
<div class="post-list">
<a href="" rel="bookmark" title="">
<figure class="eyecatch"><?php the_post_thumbnail(); ?></figure>
<div class="entry-meta"><span class="date"><?php the_time('Y.m.d'); ?></span></div>
<div class="entry-title"><?php the_title(); ?></div>
<div class="entry-excerpt"><?php the_excerpt(); ?></div>
<div class="<?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->slug; } ?>">
<?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->cat_name; } ?></div>
</a></div>
<?php } ; ?>
</div>
<?php }
wp_reset_postdata();
?>
補足

<?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->slug; } ?>

上記のコードが、スラッグ名を取得している。クラス名をスラッグ名にすることでカテゴリー毎にクラス名が変わっていて、CSSで色付けなど変化をつけられる。
※スラッグ名 = カテゴリー追加した際に設定したURLのこと。管理画面から確認や修正が可能。

<?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->cat_name; } ?>

上記のコードは、カテゴリー名を取得できる。

・the_excerptは抜粋文。(記事作成時、「表示オプション」から「抜粋」にチェックして、抜粋文を入力することも可能。)
・catはカテゴリーID。複数のカテゴリーを出すには'8,9'といったように,で区切り増やす。

3. 表示させたい固定ページ内にショートコードを書く。

''の中は、先ほどのphpファイルのファイル名を。


[myphp file='new-post-list']

サムネイル画像のサイズ設定

function.phpに画像サイズを指定するコード追加

add_image_size('サイズ名', 横幅, 高さ, 切り取り);
切り取りをする場合 : true
切り取りをしない場合 : false(初期値)

縦、横、200pxのサイズ。切り取り。したい場合は

add_image_size('img200x200', 200, 200, true);

new-post-list.php内のサムネイルのコードを下記に。

the_post_thumbnail('img200x200');

注意

過去にアップしたサムネイル画像には反映されないため、画像を再アップしてサムネイルに指定する。

その他

あとは、new-post-list.php内のコードの順番を変えて、表示順を変えたり。
CSSでデザインする。


SNSアカウントを使ってもコメントができますので、ぜひぜひ。