こんにちわ、warusararusaさん。
/blog/ 以下だけ WordPress で他はただの PHP または他の CMS ということでしたら、方法は以下になると思います。
- RSS を読み込む ( PHP でも JS でも可 )
- WordPress サイトに JSON を出力させるプラグインをインストールして、JSON を読み込む ( PHP でも JS でも可 )
- DB に直接アクセスして SQL で取り出す
- wp-load.php をインクルードする (余計なものも読み込むので重くなるとは思います。)
こんにちは、
トップページ5件の新着を表示するphp記述の箇所内で
完結する方法を探しています。
お手軽に済ませるなら、jQuery の load()でもできます。
http://tenman.info/labo/snip/archives/5126
WordPress 風に書くと
function my_scripts_setup() {
add_action( 'wp_footer', 'my_add_inline_script', 99 );
}
function my_add_inline_script() {
$path = '/wp3/enough/'; /* public root からのパス */
$node = '#recent-post-groupby-cat-2'; /* 拾いたいところの id */
$scripts = ' jQuery(document).ready(function() {
jQuery("#view-entry").load(\'' . $path . ' ' . $node . '\');
});';
if ( wp_script_is( 'jquery', 'done' ) ) {
$html = '<script type="text/javascript">%1$s</script>' . "\n";
printf( $html, $scripts );
}
}
表示したいところに、以下を記述します。
<div id="view-entry"></div>
で表示できます。
KUCKLUさん、nobitaさん、ご返信ありがとうございます。
考えた結果RSSでの取得を考え実装してみました。
/blog/というフォルダ内にwordpressを置き、
トップページ(静的ページ)に4件RSSで新着を表示したいです。
タイトル、日付、URL取得までは出来たのですが、
wpのアイキャッチ画像の取得が出来ず、詰んでおります。。。
お分かりになる方いらっしゃいますでしょうか。
何卒、よろしくお願いします。
<div>
<?php
$rss = simplexml_load_file('http://xxxx.com/feed');
$count = 0;
echo '<ul>';
foreach($rss->channel->item as $item){
$count++;if ($count > 4){break;}
$title = mb_strimwidth (strip_tags($item->title), 0 , 30, "…", "utf-8");
$date = date("Y.n.j", strtotime($item->pubDate));
$link = $item->link;
?>
<li><a href="<?php echo $link; ?>">
<span><img src="xxxx.jpg"></span>
<div>
<em><?php echo $date; ?></em>
<p><?php echo $title; ?></p>
</div>
</a></li>
<?php } echo '</ul>'; ?>
</div>
対象となる RSS にアイキャッチが含まれてないのだと思います。
RSS にアイキャッチを追加するカスタマイズが必要になります。
RSS にアイキャッチを追加するはたくさんの資料がありますので、割愛させていただきます。
※すみません
別のアプローチとしては、記事本文から img タグを取り出して、それを表示するという方法もあります。