ワードプレス外のPHPやHTML(PHPとして動作する)ファイルから、ワードプレスに投稿されたブログや最新ニュースを任意の数タイトルと、日付、サムネイル付きで表示させる方法を解説いたします。
ワードプレス外のファイルから新しい投稿を任意の数表示するプログラム流れ
プログラム流れは下記のようになります。
・ワードプレスの関数を利用するためにwp-load.phpをインクルードします
・wp_get_recent_posts で最新の投稿を引っ張ってきます
・ループ処理で上記取得した投稿を順次表示します
ワードプレス外のファイルから新しい投稿を任意の数表示するプログラム
<ul class="wp-block-latest-posts"> <?php include('~~~/wp-load.php');//~~~の部分にはワードプレスのwp-load.phpがあるフォルダへの相対もしくは絶対パスを記載します $recent_posts = wp_get_recent_posts(array( 'numberposts' => 3, 'post_status' => 'publish' )); foreach($recent_posts as $post) :?> <li class="blogshowcolumn"> <a href="<?php echo get_permalink($post['ID']) ?>" style="font-weight:750;"> <div class="latestpostimage"><img src='<?php echo get_the_post_thumbnail_url( $post['ID'], array(600,600) ); ?>'></div> <time datetime="<?php echo $post['post_date'];?>" class="wp-block-latest-posts__post-date"><?php echo date("Y.m.d", strtotime($post['post_date']));?></time> <h4 ><?php echo $post['post_title'] ?></h4> </a> </li> <?php endforeach; wp_reset_query(); ?> </ul>
プログラムの解説
numberposts’ => 3, ‘post_status’ => ‘publish’ 取得される最新ポストの数3記事、かつ公開されているものという条件を示しています。
‘post_type’ => array(‘カスタム投稿タイプのスラッグ’)をパラメーターに追加することでカスタム投稿タイプも指定することができます
get_permalink($post[‘ID’]) この投稿のリンクURLを出力します
get_the_post_thumbnail_url( $post[‘ID’], array(600,600) ) 投稿のアイキャッチ画像のURLをサイズ600×600PXで所得出力します
echo $post[‘post_date’]; 投稿の公開時間を取得出力します
echo $post[‘post_title’] 投稿のタイトルを取得出力します
wp-load.phpをワードプレス外のプログラムにインクルードすることで、ワードプレスの関数が自由に利用できるようになりますのでこちらは重要なテクニックとなっております。
お試しください