WordPressを設置する時にドキュメントルートにブログ用のディレクトリを作成してインストールする場合があります。
その際に別階層にある静的ページ(TOPページなど)で「wp-load.php」を読み込めば、
WordPressで投稿した最新記事情報を取得し自動で反映させることが可能です。
「wp-load.php」を読み込んだページはWordPressの関数が使用できるようになるのです。
下記に静的ページで「wp-load.php」を読み込み、別階層に設置したWordPressの最新記事情報を取得する方法をメモします。
■ 別階層のWordPressの最新記事を静的ページに表示
※wpディレクトリにWordPressをインストールした場合
phpのファイルで「wp-load.php」を読み込みます。
<?php require_once('./wp/wp-load.php'); ?>
読み込むとWordPressの関数が使用できます。
下記コードを記述するとWordPressの最新記事を取得し、表示させることができます。
<?php $posts = get_posts("numberposts=5&category=&orderby=post_date&offset=0"); ?> <?php global $post; ?> <?php if ($posts): ?> <ul> <?php foreach($posts as $post): ?> <?php setup_postdata($post); ?> <li><a href="<?php the_permalink();?>"><?php the_title(); ?></a></li> <?php endforeach; ?> </ul> <?php endif; ?>
get_postsで記事情報を取得しています。
numberposts:件数 category:カテゴリーを指定 orderby:ソート順 offset:開始位置
上記の場合はカテゴリーを指定せず、最新記事5件を取得しています。
記事が存在する場合、取得したデータをループし「setup_postdata()」でポストデータをセットします。
そして「the_permalink()」と「the_title()」でパーマリンクと記事タイトルを表示しています。
記事が正しく出力されればOKです。
オフィシャルサイトのブログなどではディレクトリの中にWordPressが設置されているのをよく見ます。
最新情報が自動で反映されれば記事を投稿するたびに更新しなくて済むので運営も楽になると思います。
WordPressを既存のサイトのCMSとして利用したいといろいろ調べておりましたらたどり着きました。
大変参考になりました。ありがとうございます!
別サイトでは、
を一行目にというものもありましたが、
で無事動かすことができました。
ありがとうございましたm(_ _)m
すいません;;前の投稿のところは
require に
wp-blog-header.php でなく、wp-load.phpを使用したら動いたという内容です。コメントにタグ書いちゃいけませんでしたね;;
TOYOさん、コメントありがとうございます!
無事に動かすことができて良かったです!
はじめまして。
静的ページにwordpressのBlogを表示させたかったので
たすかりました。
が、英字以外が文字化けしてしまいきちんと表示されないのですが、どうしたらよいでしょうか?
もしご存知でしたら教えていただけると助かります。
よろしくお願いいたします。
申し訳ありません。。
自己解決してしまいました。お騒がせいたしました!
ここあさん、コメントありがとうございます!!
文字コードとかの関係でしょうか!?
まずは、無事解決できてよかったです (^^)