投稿ページや固定ページに、特定の記事を表示したいときの方法です。
手順は
[1] function.php に記述
[2] news.php ファイルを作成
[3]固定ページでインクルード
目次
function.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');
news.phpファイルを作成する
メモ帳やTeraPadなどのテキストファイルに記述。
ここでは「news.php」ファイルを作成。
<div>
<?php
$args = array(
'category' => 10, // カテゴリーID
'post_type' => 'post', // 投稿タイプ
'posts_per_page' => 5, // 表示件数の指定
'order' => 'DESC'// 降順
);
$posts = get_posts($args);
foreach ( $posts as $post ): // ループの開始
setup_postdata( $post ); // 記事データの取得
?>
<div>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
<p><?php the_title(); ?></p>
</a>
</div>
<?php
endforeach; // ループの終了
wp_reset_postdata(); // 直前のクエリを復元する
?>
</div>
表示したいページで news.php ファイルをインクルード
[myphp file=’news’]