WordPressの投稿記事をWP管理外のファイルで利用する簡単な方法
2016.07.08
WordPressで管理している投稿記事やページ情報を、まったく別のデザインやフォーマットで表示したい場合、いちいちテンプレート化して、テーマフォルダに入れて、管理画面からページを作成して、といろいろ面倒ですよね。
WordPressで管理していないhtmlページ内で投稿記事を表示
外部のファイルからWordPress内で管理しているデータにアクセスするのは、実はとても簡単です。一行おまじないを入れるだけです。
例えば wp-config.php
と同じ階層のディレクトリ内で、test.php
というファイルを作成して、下記コードを入れます。
<?php require_once ('wp-load.php'); ?>
※ 上記はwp-load.php
が存在するディレクトリと同じ場所にある場合になります。ページの階層を変える場合には適宜 require_once('../wp-load.php');
等と指定パスを変える必要があります。
これで、自由にWordPress内のデータがアクセスできるようになります。
あとは最新の投稿を3つul, liのリストタグで表示したい場合には、下記のようなコードになります。
<?php // 記事検索クエリ posts_per_page=3 で最新3記事 $the_query = new WP_Query('posts_per_page=3'); if ( $the_query->have_posts() ) { echo '<ul>'; // 記事のリスト表示 while ( $the_query->have_posts() ) { $the_query->the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php } echo '</ul>'; } else { // 記事がなにもない時に何か表示したい場合はここ } /* リセット */ wp_reset_postdata();
拡張子.htmlのファイルで利用する場合
.phpという拡張子のファイルで作成した場合、とくになにも設定しなくても表示できますが、 .htmlや .xml等のような拡張子で表示したい場合、一か所設定が
必要になります。
.htaccess
内に
AddType application/x-httpd-php .html
という一文を入れます。これで、Wordpressから管理していない.htmlファイルで投稿記事が表示できるようになります。