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

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

WordPress関連

走り書き。

やりたいこと

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 'テスト';?>

参考にしたブログなど