だるまブログ > wordpress

Wp-Post 良くある質問1- WordPressインストールディレクトリ

Posted by on 24 2月 2014 | Tagged as: EC-CUBEプラグイン"WpPost"

※2014/2/24に記事を書き換えました。

弊社で提供させていただいてるEC-CUBEプラグイン”WpPost“で

WordPressインストールディレクトリが良く分からない

という質問が多いので、例をあげてご説明したいと思います。

※ご注意
WpPostをご利用いただく場合、同一サーバ上にWordPressとEC-CUBEをインストールする必要がありますのでご注意ください。

WordPressインストールディレクトリとは

EC-CUBEの公開ディレクトリを基準としたWordPressインストールディレクトリまでのファイルパス

になります。

多く考えられるのは、以下のケースではないでしょうか。

CASE1 今までWordPressでサイトを展開しているが、新たにEC-CUBEをインストールし、ECサイトを追加したい。

CASE2 新たにWordPressとEC-CUBEをインストール

また、CASE1の場合、

  • A.今までのWordpressの下にEC-CUBEをインストール。
  • B.今までのWordpressと別ドメインでEC-CUBEを運営したい。
  • C.サブドメインでEC-CUBEを運営したい。

という場合が考えられます。

Case1-A 今までのWordpressの下にEC-CUBEをインストール

例えば、URLがhttp://hoge.com/でWordPressのサイトを展開していて、EC-CUBEをhttp://hoge.com/shop/で公開するとします。

この場合、/html/wp/shopにEC-CUBEをインストールするというのがもっとも簡単なやり方です。

※EC-CUBEのhtmlというディレクトリの名前をshopと変えています。
※www部分はサーバの設定によって異なりますので、ご自分野環境に合わせて読み替えてください。

図にすると、こんな感じです。

Case1-A 今までのWordpressの下にEC-CUBEをインストール

Case1-A 今までのWordpressの下にEC-CUBEをインストール

※EC-CUBEのPHPやSmartyが入るdataディレクトリはブラウザでアクセスできない場所に置くことにします。
上の図の場合、shop(元html)/define.php の中でdataフォルダの位置と名前を define(‘HTML2DATA_DIR’, ‘../../../data/’); で指定します。

この場合、一つ上の階層にWordPressがインストールされていますので、

WordPressインストールディレクトリ = ../

となります。下図の、「*1」がWordPressのインストール場所になります。

Case1-A WordPressのインストール場所

Case1-A WordPressのインストール場所

Case1-B 今までのWordpressと別ドメインでEC-CUBEを運営したい。

http://hoge.com/でWordPressのサイトを展開していて、これと別にhttp://shop-happy.com/でEC-CUBEを展開するとします。

※ドメインの設定は、サーバによって異なりますので、ご自分野環境に合わせてください。
※EC-CUBEのhtmlというディレクトリの名前をshopと変えています。
※www部分はサーバの設定によって異なりますので、ご自分野環境に合わせて読み替えてください。

図にすると、こんな感じです。

Case1-B 今までのWordpressと別ドメインでEC-CUBEを運営

Case1-B 今までのWordpressと別ドメインでEC-CUBEを運営

この場合、EC-CUBEとWordPressが同じ階層にインストールされているので、以下のような設定になります。

Case1-B WordPressのインストール場所

Case1-B WordPressのインストール場所

WordPressインストールディレクトリ =../wp

上の、「*1」がWordPressのインストール場所になります。

Case1-C サブドメインでEC-CUBEを運営したい。

例として、http://hoge.com/でWordPressのサイトを公開していて、http://shop.hoge.com/でEC-CUBEを公開するとします。

この場合、CASE1-BとWEBサーバの公開設定部分が異なるだけで、WpPost・WpPostPlusの設定はCASE1-Bと同じになり、

  • /html/wpをhttp://hoge.com/で公開
  • /html/shopをhttp://shop.hoge.com/で公開

となります。
※サブドメインの設定は、サーバによって異なりますので、ご自分野環境に合わせてください。
※EC-CUBEのhtmlというディレクトリの名前をshopと変えています。
※www部分はサーバの設定によって異なりますので、ご自分野環境に合わせて読み替えてください。

図にすると、こんな感じです。

Case1-C サブドメインでEC-CUBEを運営

Case1-C サブドメインでEC-CUBEを運営

この場合、WordPressインストールディレクトリは以下のようになります。

Case1-C WordPressのインストール場所

Case1-C WordPressのインストール場所

WordPressインストールディレクトリ =../wp

となります。上の、「*1」がWordPressインストールディレクトリになります。

Case2 新たにWordPressとEC-CUBEをインストール

この場合は自由に決められますので、サイト設計の際、WordPressインストールディレクトリを決定ください。

category_description()でちょっと悩んだ

Posted by on 31 1月 2014 | Tagged as: WEB, WEBプログラミング, wordpress

30分ほど悩んだので、備忘録として書いておきます。

WordPressで

<?php echo category_description( $category_id ); ?>

でカテゴリの説明が取得できますが、

<p>カテゴリ説明のテキスト</p>

と返ってきます。

<p>~</p>が余計なので、

$var = strip_tags(category_description());

としたのですが、この値をSmartyで利用しようとするとエラーが出ました。

色々調べたら改行が残っていたので、

$var = str_replace(array(“\r\n”,”\r”,”\n”), ”, $var);

と、改行を削除することで解決しました。

EC-CUBEプラグインのHETEMLでの利用

Posted by on 19 6月 2013 | Tagged as: プラグイン

HETEMLをご利用の場合、WAF(アプリケーション・ファイヤー・ウォール)がONになっていますと、プラグイン設定画面で保存した際403エラーとなります。
WAFのログで、
/test/admin/load_plugin_config.php?plugin_id=・・・
となっていることで確認いただけます。
この場合、一旦WAFをOFFで設定の上、設定後にWAFをONとしてください。

WpPost修正ファイル

Posted by on 19 6月 2013 | Tagged as: EC-CUBEプラグイン"WpPost"

下記内容はWpPost本体に取り込みましたので、修正ファイルの配布は終了いたしました。

最新バージョンをお使いください。

ダウンロードサイト -> http://www.ec-cube.net/products/detail.php?product_id=276

WpPostをご利用いただく際、サーバー環境によってエラーが出る場合があることが判明いたしました。

その際、プラグイン導入後
http://gizmo.co.jp/WpPostFiles130617.zip
より修正ファイルをダウンロードいただき、
data/downloads/plugin/WpPost 以下、
・plg_WpPost_Category_LC_Page.php
・plg_WpPost_LC_Page.php
・plg_WpPost_List_LC_Page_FrontParts_Bloc.php
3ファイルを入れ替えていただくようお願いいたします。

EC-CUBEのセキュリティーアップデート

Posted by on 24 5月 2013 | Tagged as: EC-CUBE

EC-CUBEのサイトにて緊急度の高い脆弱性を含めたアップデートが公開されています。
http://www.ec-cube.net/info/weakness/20130522/index.php
ご確認の上、ご対応ください。

今回のアップデートにつきましては、弊社でご提供しているプラグインが問題無く稼働することを確認しておりますが、カスタマイズを実施されている場合など保証いたしかねますので、ご注意の上実施をお願いいたします。

WpPostインストールに際しての注意点

Posted by on 11 10月 2012 | Tagged as: EC-CUBEプラグイン"WpPost"

EC-CUBEのプラグイン”WpPost”のインストールに際し、フォルダのパーミッションで問題が発生する場合があります。

以下のフォルダがWEBサーバーの実行権限で書き込み可能となっている必要があります。
ご自分の環境をご確認いただきますようお願いします。

■dataフォルダ以下
・data/downloads/plugin
・data/Smarty/plugin/templates/default
・data/Smarty/plugin/templates/default/frontparts/bloc
※default部分はテンプレートにより変更になります。
※dataフォルダの名称を変更されている方は、ご自分の環境に合わせ読み替えてください。

■htmlフォルダ以下
・html
・html/plugin
・html/frontparts/bloc
※htmlフォルダの名称を変更されている方は、ご自分の環境に合わせ読み替えてください。

Pleskをお使いの方へ

Pleskをお使いの方はWEBサーバーの実行権限とフォルダのオーナー権限が異なりますので、707、757など適切なパーミッションを設定してください。
詳細はホスティング業者へお尋ねください。

さくらインターネットをご利用の方へ

さくらインターネットではフォルダーのパーミションが777757707の場合、およびファイルのパーミッションが 666646606 の場合 Internal Server Error が発生いたします。

WpPostインストール後に

・html
・html/plugin
・html/plugin/WpPost
・html/plugin?WpPost/media
・html/frontparts/bloc
・html/wppost
のフォルダパーミッションが 755 となっているかご確認いただき、異なる場合、手動にて変更ください。
また、各フォルダ内のファイルにつきましては 644 となっているかをご確認いただき、異なる場合、手動にて変更をお願いいたします。

なぜWpPostを作ったか

Posted by on 29 8月 2012 | Tagged as: EC-CUBE, EC-CUBEプラグイン"WpPost", プラグイン

本日(もう昨日になりましたが)、EC-CUBEとWordPressの連携プラグイン”WpPost”の新しいバージョンをリリースさせていただきました。

http://gizmo.co.jp/wppost/wppost-new/

良く分かってないころから、EC-CUBE東京ユーザグループやプラグイン開発合宿の皆さまには大変お世話になり、感謝してもしきれません。
また、下北沢のオープンソースカフェWordPress部の方にもサジェスチョンいただきました。ありがとうございます。

 
私がこのプラグインを作ろうと思った理由は、

「世の中にWordPressで作ったサイトがたくさんあるが、ECサイトをやろうとするとEC-CUBEの方が使いやすい気がする」

という点です。

 

  • WordPressでできている資産をそのまま利用できれば、ECサイトで展開する時も有利ではないか。
  • EC-CUBEとWordPressのデザインを揃えるだけでは、会員やポイントなど、ECの機能がうまくいかない。

と思って、色々テストしていた時に、EC-CUBEのプラグインリリースがあり、プラグイン開発合宿に参加させていただきました。

ここで、最初のバージョンを作成させていただいたのですが、今考えると、この時点ではEC-CUBEを良く分かってなく、参加された皆様にはご迷惑かけたのではないかと、今考えると冷や汗ものです。

商品一覧は2.11のカスタマイズで機能を盛り込んでいたのですが、コメント部分は結構時間がかかってしまいました。

まだ、不具合やバグなどもあるかと思いますので、何かありましたらご連絡いただけると嬉しいです。

今後とも、”WpPost”をよろしくお願いいたします。

ブログのRSSをサイドバーで表示Part2

Posted by on 10 1月 2010 | Tagged as: wordpress

KB Advanced RSS Widgetで各記事のリンクを別のウィンドウで開くようにしましたが、このままでは

  • ブログタイトルのリンクは同じタイトルで開いてしまう。
  • ブログタイトル前のアイコンからはフィードの内容が開いてしまう。

という問題がありますので、KB Advanced RSS Widgetを改造します。

KB Advanced RSS Widgetは
wp-content/plugins/kb-advanced-rss-widget/index.php
でWordPressのバージョンにより使われるファイルが違います。
今回、WordPressはver.2.9.1を使用しましたので、
wp-content/plugins/kb-advanced-rss-widget/versions/wp-2-8.php
を変更します。

この、435行目で「ブログタイトルのリンク」が生成されていますので、

$this->title = '<a href="'. $this->link .'">'. $this->title .'</a>';

$this->title = '<a href="'. $this->link .'"  target="_blank">'. $this->title .'</a>';

と修正します。

また、439行目でアイコン部分が生成されていますので、

$this->title = '<a class="kbrsswidget" href="'.$this->url.'" title="Syndicate this content"><img width="14" height="14" src="'.$this->icon.'" alt="RSS" style="background:orange;color:white;" /></a> '.$this->title;

$this->title = '<img width="14" height="14" src="'.$this->icon.'" alt="RSS" style="background:orange;color:white;" /> '.$this->title;

と修正しました。

これで、

  • ブログタイトルのリンクが別ウィンドウで開く。
  • ブログタイトル前のアイコンはリンクなし。

となりました。

ブログのRSSをサイドバーで表示Part1

Posted by on 09 1月 2010 | Tagged as: wordpress

CMSとしてWordpressを使ったサイトを構築しています。

そこで、色々なブログのRSSをサイドバーで表示する必要があり、KB Advanced RSS Widgetというプラグインを導入&改造しました。
なかなか日本語の情報もなかったので、メモします。

導入はダッシュボードのプラグイン>新規追加からKB Advanced RSS Widgetを検索してサクッと入れてしまいました。

有効化すると、外観>ウィジェットにKB Advanced RSS Widgetが出てくるので、これをサイドバーにドラッグ&ドロップして設定します。

私が行った設定は

Title  適当なブログタイトル名
RSS feed URL  該当ブログのRSSを取得するURL
RSS icon URL  ブログタイトル名の前にアイコンがつきます。デフォルトのままでアイコンがつくので変更してませんが、適当に変更可能です。
Number of items to display   表示する記事の数
Link title to feed URL?  チェックを入れるとブログタイトル名にブログへのリンクがつきます。
Hide widget when feed is down?  フィードが取れなかったら、表示しないってことでしょう。チェック入れときました。

で、設定のポイントは

<li><a class=’kbrsswidget’ href=’^link$’ title=’^description$’>^title$</a></li>

の部分で、http://wordpress.org/extend/plugins/kb-advanced-rss-widget/other_notes/
に説明があります。

^link$、description$、^title$とか言うのはRSSの中で使われているタイトル(変数名?)です。
これにオプションをつけることで、表示内容をコントロールできます。

RSSでタイトル(変数名?)がどのように使われているかを見るには、ブラウザのリンクに

http://フィードを表示させるWPブログのURL/?kbrss=該当ブログのRSSを取得するURL

と入力することで該当ブログのRSSの中身が確認できます。
この時、フィードを表示させるWPブログには「管理者」でログインしている必要があるようです。

ちなみに、私の場合、エキサイトブログのRSSとMovableTypeのブログのATOMをテストで使ったところ、

■エキサイトブログのRSSのフィードの中身

[title] => 記事タイトル
[link] => 記事URL
[guid] => 記事URL
[description] =>記事内容

■MovableType ATOMのフィードの中身

[title] => 記事タイトル
[link] => 記事のリンク
[id] =>
[published] => 記事発効日時
[updated] => 記事修正日時
[summary] => サマリー
[author] =>
[author_name] => 記事発行者名
[atom_content] => 記事内容

となってましたので、

■エキサイトブログのRSS用の設定

<li class=’kbrsswidget’>^pubdate[opts:date=Y/m/d]$<br /><a href=’^link$’ title=’^description$’ target=”_blank”>^title$</a><br />^description[opts:trim=40]$</li>

■MovableType ATOM用の設定

<li class=’kbrsswidget’>^updated[opts:date=Y/m/d]$<br /><a href=’^link$’ title=’^summary$’ target=”_blank”>^title$<br />^summary[opts:trim=40]$</a></li>

としました。

エキサイトブログの方だけ説明すると
^pubdate[opts:date=Y/m/d]$
記事の発効日を2010/01/09の形式とする

<a href=’^link$’ title=’^description$’ target=”_blank”>
同じ画面で開かないようtarget=”_blank”を入れました。

^description[opts:trim=40]$
ブログの内容を頭から40character分表示

となります。

これで、

ブログタイトル
記事日時
記事タイトル
記事内容サマリ
記事日時
記事タイトル
記事内容サマリ
記事日時
記事タイトル
記事内容サマリ

とサイドバーに表示されるようになりました。

KB Advanced RSS Widgetの場合一つのウィジェットっで1つのフィードURLしか設定できませんので、複数のフィードを表示させるにはウィジェットを複数分設定する必要があります。