Wordpress外で新着記事を反映する #Wordpress

こんにちは。
きりんです。Webクリエイターとして活動しています。

今回は、タイトル通り、Wordpress外で新着記事を反映しよう!という試みです。
Wordpressを更新記事としてのみ使い、メインのindexにベタコーディングしたページを使用しています。そこにPHPを組み込みました。

.htmlにPHPを反映させる方法

Wordpressのデータを読み込むための一行

<body>直下、または使いたいPHPの直前に下の一行を組み込みます。

<?php include_once("wp-load.php"); ?>

私の場合、Wordpressを読み込みたいのが「index.html」。
そしてWordpressの一式と同階層に共存させています。そのため上記の形に。もし、別階層にWordpress一式を導入している場合はディレクトリの指定を行ってくださいね。

<?php include_once("/wp/wp-load.php"); ?>

「wp」というディレクトリにWordpress一式を入れている場合は、"/wp/"を忘れないようにしてください。

新着記事情報のPHP

<?php query_posts('cat=1&posts_per_page=3');  ?>
			<ul>
					<?php
        if (have_posts()) :
            while (have_posts()) : 
                the_post();
        ?>
					<li>
						<div class="date"><date><?php echo get_the_date(); ?></date></div>
						<div class="link">
							<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
                <?php the_title(); ?>
                            </a>
						</div>
					</li>
		<?php endwhile; ?>
        <?php endif; ?>
				</ul>

上記のコードをコピペしてもらったら反映されます!(されました。)
一行目の”cat=1&posts_per_page=3”の数字を変えると反映する記事の数を変更できます。現在は、新着の3記事のみ表示されるようになっています。

上記コードは、日付と記事タイトルのみ表示される様になっているので、サムネイルなど必要な場合はまた別のPHPコードが必要です。

PHPコードはこのままコピペでOK

Wordpressの新着記事を反映する場合は、基本PHPコードは共通なのでこのままコピペして使用して大丈夫です。
javascriptとかは、classやid、varなど揃える必要があったりとコピーをしてきても頭を使うことが多いですが、PHPは比べるとまだ単純な方ではないでしょうか。

埋め込んでみても動かない場合

1.テスト環境を作ってみる

はじめ、埋め込んでも反映されなくてむしゃくしゃしたので、最低限のDOCTYPE宣言とかして上記のPHPをペーストするテスト環境を作りました。
そしたらスムーズに動いたんですよね。
シンプルイズザベストです。

2.iframeを活用してみる

もう廃れたと思っていたiframe。(ごめんなさい)
私が一旦活動をやめた10年弱前はiframe非推奨だったんですよ…
まさかhtml5で非推奨が解除されていたなんて…!!!!!!今調べて声出ました。

調べてみたら活用していらっしゃる現役の方がいらっしゃったので、アリです!PHPの仕組みもiframeのようだなと思っていたので、逆に管理しやすくなりそうですし、今回の私のように.htmlでPHPを動かそうなんて考えず、更新情報だけ.phpで作ってしまえば、.htaccessをイジる必要もないし…
あれ…?こっちのほうがいいんじゃない…?

.htmlを必死にPHP化したので今回はこのままいきますが、次こういう案件と出会ったときはiframeを活用しようと思います。

この記事が気に入ったらサポートをしてみませんか?