WPプラグイン WooCommerce が動きません。


WooCommerceというEコマース系のプラグインをインストールしたのですが、動きません。

http://www.youtube.com/watch?v=x_Mt0lMNGGA
作業は、こちらの動画↑と全く一緒な事をしているのですが、1:05あたりのInstall WooCommerce Pages をクリックするとエラーがでます。

エラーメッセージは

Fatal error: Call to undefined method stdClass::add_help_tab() in /home/users/1/ロリポップサーバー番号/web/wp-content/plugins/woocommerce/admin/woocommerce-admin-content.php on line 18

(〜.php の18列目がオカシイらしいです...)

ロリポップサーバーのプランは『ロリポプラン』を使用しています。
サービス比較:http://lolipop.jp/service/about/

どうしたら正常に動いてくれるのでしょう。
分かる方いらっしゃいますでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/08/02 04:45:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答0件)

回答はまだありません

  • id:rouge_2008
    WordPressのバージョンはいくつでしょうか?
    こちらはWordPress 3.4.1 + WooCommerce 1.6.1で、その手順の箇所は問題なく動作しました。
    使用していないのでその他の動作に関しては分かりませんが。

    管理メニューの「WooCommerce」→「Settings」からアクセスした場合はどうなりますか?
    上記の操作でも、「Install WooCommerce Pages」を実行した場合と同じページが表示されます。
    ※プラグイン有効化直後で、「WooCommerce」メニューが表示されていない場合は、管理画面を再読み込みしてください。
  • id:auctionwars
    ご回答ありがとうございます。
    私の方も同じく WP 3.4.1 WooCommerce 1.6.1 でした。
    「WooCommerce」→「Settings」の場合、上記と同じエラーメッセージが表示されます。

    私はロリポップを使用していますが、サーバーは何を使用しているか教えて頂けますか?

    今のところ、サーバーしか原因が思い浮かびません。
  • id:rouge_2008
    動作テストはローカル環境で行っていますので、レンタルサーバーでは確認していません。
    エラーが出る「wp-content/plugins/woocommerce/admin/woocommerce-admin-content.php」の18行目の前で、次のようにして$screenを出力して確認してみてください。

    $screen = get_current_screen();
    var_dump($screen); // この行を追加
    $screen->add_help_tab( array(

    $screenにはWP_Screenオブジェクトが入りますが、このクラスにadd_help_tab()メソッドがない為に発生しているエラーです。
    何が入っているか確認してみてください。
  • id:rouge_2008
    結果の返信がまだですが続きです。

    次のように表示された内容をコピーして教えてください。

    object(WP_Screen)#**** (15) {
    ["action"]=>
    string(0) ""
    ["base"]=>
    string(25) "toplevel_page_woocommerce"
    ["columns":"WP_Screen":private]=>
    int(0)
    ["id"]=>
    string(25) "toplevel_page_woocommerce"
    (~ 略 ~)
    }

    get_current_screen()は、管理画面のほとんどのページで使用されていますが、他の管理画面は正常に表示されていて、WooCommerceだけ表示エラーになるのですよね?
    いろいろカスタマイズしているのでしょうか?
    問題の切り分けの為に、プラグインの停止とカスタマイズしていないデフォルトテーマへの変更を、それぞれ別々に実行して確認してみてください。
    それから、WordPressは新規にインストールしたものでしょうか?
    もし上書きアップグレードでしたら、別のフォルダへの新規インストールを試してみてください。
  • id:auctionwars
    ご回答ありがとうございます。

    まず、WPは新規でインストールし、カスタマイズはしておりません。
    今月はじめたばかりの初心者ですので、rouge_2008 さんのおっしゃった事は正直分からない事だらけです(汗)

    ロリポップのお試し期間が切れましたので、契約はせずに、他のサーバーで また試してみる予定です。

    分からない点

    ・ローカル環境での動かし方
    ・コードを書き換える場所、方法
  • id:rouge_2008
    ローカル環境でCGI等のテストを実行するには、XAMPPを使うのが簡単だと思います。
    WindowsだけでなくMac用もあります。
    使い方は検索するとたくさん出てきますので、まず実行してみて、分からない事があったら質問するといいです。
    「XAMPP」
    http://www.apachefriends.org/jp/xampp.html


    エラーメッセージが『Call to undefined method stdClass::add_help_tab() in ~/wp-content/plugins/woocommerce/admin/woocommerce-admin-content.php on line 18』なので、$screenにはstdClassのオブジェクトが入っていたのではないかと思いますが、なぜここにstdClassオブジェクトが入っているのかが分かりません。
    管理画面の他のページは表示されているようですし、通常はWooCommerceでもWP_Screenのオブジェクトが入って、正しくページが表示されます。
    何もカスタマイズしていないという事ですので、本当に不思議な現象が起きた事になります。


    コードを書き換える場所は上でコメントした通り、「wp-content/plugins/woocommerce/admin/woocommerce-admin-content.php」の18行目の前です。
    テキストエディタで開いて、元からある2行の間に 「// この行を追加」とした行を追加して保存し、編集したファイルをFTPソフトで上書きアップロードします。
    ※表示確認の為ですので、確認が終了したら元に戻してください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません