エックスサーバーでWordPressの記事一覧をhtmlで表示させたい時に.htaccessとhtmlに記載すること

走り書き。
やりたいこと
WordPressが下層フォルダにあり、そこの記事一覧をindex.htmlにphp使えるようにして、表示させたい。
(Wordpressとindex.htmlは同じ階層にない)
- 環境はエックスサーバー一番下のプラン
- 2022年にトライ
ひとまずこれをすればできる
.htaccess
AddHandler fcgid-script .html
※ローカルには、文頭の.はないので、アップしたら.を付け足しておく。(個人メモ)
index.html
!doctype htmlの前に以下を入れ込む。
<?php require('./blog/wp-load.php'); ?>
<?
$args = array(
'post_type' => array('post'),
'posts_per_page' => 5,
);
$blog_query = new WP_Query($args);
$blog_list = array();
//
while ($blog_query->have_posts()){
$blog_query->the_post();
$post_id = get_the_ID();
$post_type = $post->post_type;
$blog_list[] = array(
'post_id' => $post_id,
'title' => get_the_title(),
'date' => get_the_date('Y.m.d'),
'link' => get_the_permalink()
);
}
wp_reset_postdata();
?>
記事を表示させたいところにはこれを入れる。
<?php if(is_array($blog_list) && count($blog_list)):?>
<ul>
<?php foreach ($blog_list as $blog):?>
<li><a href="<?php echo $blog['link'];?>"><time class="date"><?php echo $blog['date'];?></time><div class="title"><?php echo $blog['title'];?></div></a></li>
<?php endforeach;?>
</ul>
<?php endif;?>
phpがきいているかをテストしたいなら、以下をhtmlに入れてみてテストをする
<?php echo 'テスト';?>
参考にしたブログなど
- .htmlでphpを実行する【エックスサーバー sv2001以降】
https://m630.net/archives/3214 - 【サーバー別】HTML上でPHPを実行するための.htaccessの記述
https://m630.net/archives/816 - 記事を見つけるきっかけになった記事
https://planbworks.net/html-and-wordpress.html - htmlへの埋め込みコード
https://analyzegear.co.jp/blog/85