実は昔の hiromasa.zone なんかがそうだったりしましたが、WordPress の情報を WordPress 管轄以外から取得したいときがあります。
たとえば、静的 HTML のトップページに WordPress の新着をだしたい、、とかですね。 全部のページ WordPress でやるのもおっくうってこともあるわけです。 🙂
そんな場合は以下のようなコードを使うのもひとつの方法かもしれません。
とりあえず、静的 HTML の場合は、拡張子を .php とか変更して PHP が動くようにします。
すでに、.html で他からリンクしちゃっていてリネームできないよーって方は mod_rewrite で化かすとかとかしてください。 / で終わる URL のときは、index.html をリネームして index.php にすれば OK です。
で、こんなコードを元 html に挿入します。
<?php // wp-load.php を include して WordPress をテーマなしで起動する ?>
<?php // 該当 HTML の先頭行に wp-load.php のパスを自分にあわせて以下を挿入 ?>
<?php include_once "../wordpress-another/wp-load.php" ?>
<html>
<head></head>
<body>
<!-- このへんまで普通の HTML かく -->
<?php // たとえば WordPress から最新5件のエントリ名を持ってきたい場合 ?>
<?php // 以下 7行を HTML にコピペする ?>
<?php query_posts('showposts=5'); // 最終5エントリ取得のループをつくる ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- ここからWordPressのテンプレートタグをかく -->
<p><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></p>
<!-- ここまで -->
<?php endwhile; ?>
<?php endif; ?>
<!-- このへんからも普通の HTML かく -->
</body>
</html>
wp-load.php を WordPress 以外から include して、query_posts 関数でループをつくってあげれば、好みの条件でループの作成ができます。
一点注意ですが、この方式の場合 WordPress の状態、というかまぁ MySQL の動作にひっぱられるので、MySQL がよくおちるサーバだとページに不具合がでてしまう可能性があります。
それを嫌う場合、をかもとにいさんの方式が良いと思います!
Google AJAX Feed API : dogmap.jp
これを実現するために JavaScript で RSS フィードを取得して表示する方法を調べたので、自分用にメモ。
JavaScript 経由で WordPress の RSS をよんでうめこみます。 非同期なので体感表示速度的にも、をかもとさんの方式が有利だと思います。
ぼくのこの記事、 WordPress 直読みは方式は、ページに投稿を即反映したいとか RSS 以外の情報を取りたいとか、投稿を100件とりたい(笑)とかいった要件がある場合によいかもです。 WP のテンプレートタグがそのまんま使えます。
というわけで、呼ばれて飛び出て、メモおしまい。。
お休み中のためオチはないのです。 ←そこの違いなのか!?
ピンバック: dogmap.jp
まさに、ほしいのはこれでした!!
忙しい中あげてくれてありがとー :–)
のんのん。 (party)
ピンバック: EC-CUBEにWordPressの新着を表示させる
ピンバック: Twitter Weekly Updates for 2009-07-26 | I reach towards the sky
いやーほんとに助かりました。
何日悩んだか分かりません。
どうもありがとうございました。
おぉ、良かったです!。 😀
動的なサイドバーを管理するプラグイン「ウィジェットカスタム」をこちらのプラグイン作成のノウハウを参考に作成させて頂きました。大変参考になりました。
ピンバック: ワードプレス 静的ページに新着記事表示 | あれこれ覚え書き
ピンバック: MovableTypeを3年愛用してきたプログラマーが最新のWordPressに触れて気づいたことをまとめてみた。 « INSPIRE TECH
ピンバック: widget_custom(ウィジェットカスタム) – wordpressプラグイン -|zamuu::BLOG
ピンバック: WordPressの最新記事をホームページに反映する。 | PCやぶ医者日記