自分用のメモです。間違えていたりなどなどあるかもしれません。ご参考程度に。
今回は、最新記事表示・サムネイル写真あり・カテゴリーをクラス分け(色分けなど可能に)ができるような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でデザインする。
COMMENT