2016/12/19
ECCUBE2.13 投稿 Wordpress
備忘録です。
ECCUBEのブロックでWordpressの投稿記事を表示する方法です。
参考サイト
EC-CUBEの話(1) Feedを使わずにWordPressの記事をブロックに表示
ECCUBEとWordPressを連携させる方法
まず、ECCUBEをインストールしているのと同じディレクトに「blog」を作成してWPをインストール
WPインストール後、「EC-CUBEの話(1) Feedを使わずに~」を参考にソースコードを貼り付けようと思いましたが、
phpのソースがECCUBEに準じていない箇所があったため修正してから貼り付け
wp_newsブロックを作成
<!-- TOP_wordpress_include_01 -->//別に書かなくていい。 <!--{php}--> require_once('./blog/wp-load.php');//これが重要。 <!--{/php}--> <div id="infoarea" class="mr10"> <div class="info_tit"><a href="/blog/"><span class="white">新着ニュース</span></a></div> <div class="info_themewrp"> <!--{php}--> $posts = get_posts('numberposts=3&category=1');// よく見るでしょ。 件数とブログカテゴリの取得 global $post; <!--{/php}--> <!--{php}--> if($posts): foreach($posts as $post): setup_postdata($post); <!--{/php}--> <div class="info_theme"> <!--{php}--> if (has_post_thumbnail()) : <!--{/php}--> <div class="info_img"><!--{php}--> the_post_thumbnail(72, 72, true); <!--{/php}--></div><!--{php}--> endif; <!--{/php}-->// サムネイルがあれば <div class="info_tit_text mb10"><!--{php}--> echo date("Y.m.d", strtotime($post->post_date)); <!--{/php}-->//日付表示 <!--{php}--> the_tags( '<span class="sc_name_tag"> ', '</span>' ); <!--{/php}-->//タグ表示</div> <div class="info_text"><a href="<!--{php}--> the_permalink();<!--{/php}-->"><!--{php}--> the_title();<!--{/php}--></a></div> <!--{php}-->the_excerpt();<!--{/php}--> </div> <!--{php}--> endforeach; <!--{/php}--> <!--{php}--> endif; <!--{/php}--> </div> </div>
これでサイトをチェックしてみるとWPのログイン画面が表示されてしまいました。
そこで、「ECCUBEとWordPressを連携させる方法」を参考にWPのファイルを書き換え
config.php
DB_NAMEなどをWP_DB_NAMEに書き換え
// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */ define('WP_DB_NAME', 'データベース名'); /** MySQL データベースのユーザー名 */ define('WP_DB_USER', 'ユーザー名'); /** MySQL データベースのパスワード */ define('WP_DB_PASSWORD', 'パスワード'); /** MySQL のホスト名 */ define('WP_DB_HOST', 'ホスト名');
wp-includes/load.phpも同様に書き換え
function require_wp_db() { global $wpdb; require_once( ABSPATH . WPINC . '/wp-db.php' ); if ( file_exists( WP_CONTENT_DIR . '/db.php' ) ) require_once( WP_CONTENT_DIR . '/db.php' ); if ( isset( $wpdb ) ) return; $wpdb = new wpdb( WP_DB_USER, WP_DB_PASSWORD, WP_DB_NAME, WP_DB_HOST ); //ここを書き換え }
これで無事表示されましたが、//のコメントアウトが全て表示されてしまったので削除。
CSSで調整していません。とりあえず、そのままです。
2017/1/12 追記
この方法だとWPがバージョンアップ(自動更新)されるときに、wp-includes/load.phpが書き換わってしまうので問題があることがわかりました。
面倒ですが、バージョンアップがあった場合には、wp-includes/load.phpを毎回書き換える必要があります。
ゼヒトモ内でのプロフィール: ROCKSTREAM, ゼヒトモのホームページ作成・制作サービス, 仕事をお願いしたい依頼者と様々な「プロ」をつなぐサービス
2024/10/27
ブラウザ
カスタム投稿
Wordpress
2024/08/20
神社
御朱印
2024/07/06
神社
御朱印
2024/07/06
神社
御朱印
2024/02/09
神社