0
0

More than 3 years have passed since last update.

【ブルゾン風】WPの投稿記事をhtmlファイルで回してみたくない?

Posted at

やりたいこと

WordPressのブログの記事情報を外部サイトにも反映・表示させたい!
だがしかし、、拡張子がhtmlのファイルにそんなことができるの??

思い悩むこと12時間............
なんとかやり口を見つけ解決まで導き出せました!

今回やりたいことをまとめると
・WordPressの投稿情報を外部サイトでも使いたい
・htmlファイルでphpを使いたい

環境

【サーバー】   Xserver
【サーバー番号】 2001(sv2001)以降

WordPressの投稿情報を外部サイトでも使う方法

ステップは2つです。
・WP管理外でも機能を使えるようにする
・投稿記事を表示する

WP管理外でも機能を使えるようにする

下記記述を対象のhtmlファイルの一番上にコピペしましょう。

include($_SERVER['DOCUMENT_ROOT']."/wp/wp-load.php");

もしくは

include($_SERVER['DOCUMENT_ROOT']."/wp/wp-blog-header.php");

どちらも同じ結果が返るので、どちらでも良いでしょう。
$_SERVER['DOCUMENT_ROOT'] とはルートのことで、それ以下のディレクトリは各々でWPファイルを記述してください。

私は上の記述でうまくいかなかったので、下の記述でやるとうまくいきました!

投稿記事を表示する

よーーし!
あとは表示だけだーー!!
WPのループを回して情報を表示させよう!

<?php if(have_posts()): while(have_posts()):the_post(); ?>

  <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>

  <time datetime="<?php the_time('Y-m-d'); ?>"><?php the_time('Y.m.d'); ?></time>

<?php endwhile;endif; ?>

これで完成だー!!ってあれれぇぇ........(コナンくんみたいな声が漏れた)
何故だかうまく情報を取得できません。


<?php
  $args = array( 'posts_per_page' => 3, 'order'=> 'DESC', 'orderby' => 'date' );
  $posts = get_posts($args);

  foreach ($posts as $post) :
?>
  <p><a href="<?php the_permalink(); ?>"><?php echo $post->post_title; ?></a></p>
  <p><?php echo mysql2date( 'Y/m/d', $post->post_date ) ?></p>

<?php endforeach; ?>

foreach文を使うとうまくいきました!!

htmlファイル内でphpを使う方法

.htaccessファイルに記述をしていきます。
サーバーによって記述方法が異なるので様々ですが、
ここでは一般的な記述方法とエックスサーバー利用時の記述方法を掲載しています。

一般的な記述

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php .php .phtml .html

両方記述しているパターンが多いですが、どちらか1つでも行けると思います。

エックスサーバーの記述

エックスサーバーの中でも設定方法が2種類あります。
サーバー番号が2001(sv2001)以降の場合

AddHandler fcgid-script .html

私はこれで動きました。
サーバー番号が1999(sv1999)以前の場合

AddHandler x-httpd-php5.6 .php .phps .html

エックスサーバーのサーバー番号は、お知らせメールからわかるそうです。
チェックしておきましょう。

以上です!

参考記事

https://macoblog.com/wp-gaibu-kijiroop/
https://princessvision.com/html_php_work/
https://wp.turbo-w.com/wordpress_news_topics_1.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0