• 例えば/blog/内にwordprssを設置し、トップページに5件新着を表示したい場合、
    <!DOCTYPE …>の前に、
    <?php require_once(‘./blog/wp-load.php’); ?>を記載すると、
    トップページでも5件表示出来るようになるかと思います。

    <!DOCTYPE …>宣言の前にwp-load.phpを読み込ます以外の方法で、
    トップページに表示する方法はあるのでしょうか?

    出来れば、トップページ5件の新着を表示するphp記述の箇所内で
    完結する方法を探しています。
    rssで表示する方法はあるらしい…所までは調べたのですが、方法で詰んでいます。

    分かる方、お教え頂けると幸いです。
    よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちわ、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>

    で表示できます。

    トピック投稿者 warusararusa

    (@warusararusa)

    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 タグを取り出して、それを表示するという方法もあります。

4件の返信を表示中 - 1 - 4件目 (全4件中)

トピック「最新記事をトップに表示する方法」には新たに返信することはできません。