[WordPress] 会社Webからブログエントリが見えるようにしました

以前から、そうしたいと思いつつ、手が出ていなかった、「会社Webからこのブログのエントリが見える」ようにする対応を、今日、試してみました。このブログはWordPressで作成しているのですが、私は正直なところWordPressの凝った使い方は全然わかっておらず、先日、YouTubeの動画をこのブログに載せるために、初めてWordPress用のプラグインというものをインストールしたくらいの習熟度でしかありません。

難しいことをしなくて済むよう、会社Webからは<iframe>タグを使いブログサーバ側のページ内容を取り込むようにし、ブログサーバ側でPHPスクリプトを動かして、 エントリの一覧をリンク付きで見せるように考えたのですが、なにしろWordPressのことも詳しい使い方はよくわかっていないですし、PHPもほとんど素人同然なので、何をどうしたものかという感じでした。

ブログのトップページを動かすindex.phpに似せて、同じような.phpファイルを作り、そこでエントリの一覧表示をするPHPタグを書けばいいのかな?くらいの感じでいたのですが、index.phpをコピーして、ちょっと書き換えただけではうまくいきませんでした。

これが正しい方法なのかは不明ですが、以下が私の試した手順です。

  1. テーマフォルダにあるindex.phpをコピーしentries.phpなどを作り、不要なところを適当に削る
  2. ファイルの先頭などに、

    <?php require(‘../wordpress/wp-blog-header.php’); ?>

    の一行を追加(’・・・’のパスは環境に合わせて設定。例では、/blogディレクトリ下にentries.phpを作り、WordPress本体が/wordpressにあると想定)

  3. <?php query_posts(‘showposts=5’); ?>

    で、表示したいエントリ数を設定

  4. <?php if(have_posts()):while(have_posts()):the_post();?>~<?php endwhile; endif;?>

    でループしつつエントリ内容を表示

  5. http://www.knowledge-ex.co.jp/blog/entries.phpなどで表示内容をテスト
  6. うまくいったことを確認し、他のHTMLから<iframe>で内容を取り込む

以下、entries.phpの内容です。

<?php require(‘../wordpress/wp-blog-header.php’); ?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”ja” lang=”ja”>
<head>
<meta http-equiv=”Content-Type” content=”text/html;charset=<?php bloginfo(‘charset’);?>”/>
<title><?php bloginfo(‘name’)?><?php wp_title(‘;’);?></title>
<link rel=”stylesheet” href=”http://www.knowledge-ex.jp/default.css” type=”text/css”/>
</head>
<body>
<div id=”new_box”>
<h2 class=”nb”>Knowledge-ex. Blog</h2>
<table cellpadding=”2″>
<?php query_posts(‘showposts=5’); ?>
<?php if(have_posts()):while(have_posts()):the_post();?>
<tr>
<th valign=”top” nowrap><?php the_time(‘Y年n月d日 H:i’);?></th>
<td valign=”top”>
<a href=”<?php the_permalink();?>” target=”_top”><?php the_title();?></a>
(投稿者:<?php the_author()?>)
</td>
</tr>
<?php endwhile; endif;?>
<tr>
<td colspan=”3″ valign=”bottom” align=”right”>
<a id=”blue” href=”http://www.knowledge-ex.co.jp/blog/” target=”_top”>もっと見る>></a>
</td>
</tr>
</table>
</div><!– new_box –>
</body>
</html>

【追記】各エントリ名に対するリンクに、 target=”_top”を付け忘れていました。そうしないと、<iframe>内にリンク先のページが出てきてしまいます。