サポート » テーマ » テーマユニットテストデータのインストールができない

  • 解決済 bluesite

    (@bluesite)


    よろしくお願いいたします。

    ◇やりたいこと
    ツール > インポート > WordPress > インポータの実行から
    wordpress-theme-test-date-jaを選択し、
    ファイルをアップロードしてインポートをしようとしています。

    ◇結果
    ローディングに時間がかかり最終的に以下のエラーメッセージが
    出てデータのインストールができません。何度やっても同じです。

    ◇エラーメッセージ
    WordPress のインポート
    メディア のインポートに失敗しました “spectacles”
    メディア のインポートに失敗しました “dsc20050315_145007_132”
    メディア “triforce-wallpaper” 既に存在します。
    メディア “dsc20040724_152504_532” 既に存在します。
    メディア “dsc20050604_133440_34211” 既に存在します。
    Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\wordpress\wp-includes\wp-db.php on line 1868

    ◇状況
    投稿や画像などデータの一部はインストールされていて
    途中でインストールが停止した状態に見えます。

    現在は中途半端にインストールされたデータはDatabase Resetで
    全て削除して初期状態になっています。

    ◇自分でやってみたこと

    ランタイムエラーかと思って、
    php.iniのmax_execution_time=30を
    0にして、データを再インストールをしましたがやはり
    インストールできません。
    (0にしたのは、xamppでローカル環境なので無制限にしました。)


    MySQL内のデータベースを全く新しくして、WordPressを
    新規にインストールしたみましたが結果は同じでした。

    何が問題なのか全く分かりません。
    どなたか解決方法をご教示いただけますでしょうか。

    どうぞよろしくお願いいたします。

    • このトピックは7年、 6ヶ月前にbluesiteが編集しました。理由: フォーラムの指定、タイトル変更
12件の返信を表示中 - 1 - 12件目 (全12件中)
  • メディアのインポートに失敗しているのは、インポート元のサイトにアクセスできない(閉鎖?)ためでしょう。
    後に続くエラーもこれに起因しているのではないでしょうか?
    一度添付ファイルのダウンロードをしないでインポートが成功するかどうか試してみてはどうでしょうか。
    なお、テスト目的で表示の確認くらいなら添付ファイルをダウンロードしなくても表示は可能です。

    添付ファイルの画像は、既にサーバーに存在しない物が有るようです。存在している画像もあります。

    トピック投稿者 bluesite

    (@bluesite)

    ishitakaさま

    ありがとうございます。

    メディアを除いてインポートしてみました。
    結果は投稿43(Hello World!含む)、
    固定20(サンプルページ含む)、
    カテゴリー72、タグ59でした。

    これがすべてのデータなのかどうか分かりませんが。
    しかし、メディアがないと、サイト全体のイメージが
    つかめないと思うのですが。

    ご指摘で分からない点は:
    インポート元のサイトにアクセスできない(閉鎖?)の
    インポート元のサイトとはどういう意味でしょうか?
    wordpress-theme-test-date-ja.xml
    これは、http://wpdocs.osdn.jp/%E3%83%86%E3%83%BC%E3%83%9E%E3%83%A6%E3%83%8B%E3%83%83%E3%83%88%E3%83%86%E3%82%B9%E3%83%88の
    “日本語版テストデータ(2013年作成。リンク先の説明を参照)”の
    リンクをクリックしてxmlをデスクトップに一時保存してWPにアップロードしたものです。

    初心者で(いつも)申し訳ありません。

    もう少し解説をいただけましたら嬉しいです。

    メディアも全部インポートする方法はありますでしょうか。
    インポート元のサイトとは・・・どこ?

    @digitmaetelさま

    いつもご回答ありがとうございます。
    確かに、機能の時点で添付もインポートすると
    画像が何点かインポートされていました。
    でも全部ではないようでした。
    (あの木はあったか分からないです)

    しかし、添付もインポートを選択すると
    投稿記事も今やったように43件ではなく、
    3つか4つしかインポートされていませんでした。

    ishitakaさま
    @digitmaetelさま

    ご面倒おかけします。

    何卒お知恵をいただきたく、よろしくお願い申し上げます。

    わけわからないけどやめたくないbluesite

    wordpress-theme-test-date-ja.xml ファイルには、メディア ファイル自体は保存されていません。URL が保存されているだけです。インポート時に、この URL よりダウンロードされます。
    メディアのインポートに失敗するのは、指定の URL にファイルが存在しない場合が考えられます。この場合は、存在しないのでどうしようもありません。

    メディア ファイルをダウンロードしない場合はインポート出来ているようなので、ちょっと強引ですが WordPress のソースコードを一時的に変更して試してみてください。

    WordPress 4.6.1、WordPress インポートツール プラグイン 0.6.3 の場合

    (WordPress)/wp-includes/deprecated.php ファイルの wp_get_http 関数内(3632 行目)の

    @set_time_limit( 60 );

    @set_time_limit( 180 );

    に変更して試してみてください。
    終了後は元に戻してください。

    トピック投稿者 bluesite

    (@bluesite)

    ishitakaさま

    ありがとうございます。

    set_time_limitを180に変更しました。
    5分くらいかかったのですが、以前より
    いい状態でインポートできました。

    投稿、固定、カテゴリー、タグは前回と同じ。
    ただ、メディアは完ぺきではないようで
    以下のメッセージです。

    database resetをしているのに「既に存在」は
    よく分かりません。

    WordPress のインポート
    メディア のインポートに失敗しました “spectacles”
    メディア のインポートに失敗しました “dsc20050315_145007_132”
    メディア “triforce-wallpaper” 既に存在します。
    メディア “dsc20040724_152504_532” 既に存在します。
    メディア “dsc20050604_133440_34211” 既に存在します。
    すべて完了しました。 ではお楽しみください !
    インポートしたユーザーのパスワードと権限を更新してください。

    メディアのインポートに失敗するのは、指定の URL にファイルが存在しない場合が考えられます。この場合は、存在しないのでどうしようもありません。

    のところはよく分かりました。

    wp_get_http 関数は勉強してみます。

    的確なアドバイスをいただき助かりました。
    本当にありがとうございました!

    今後ともよろしくお願いいたします。

    • この返信は7年、 6ヶ月前にbluesiteが編集しました。

    ちょっと補足しておきます。

    WordPress インポートツール プラグインは、「タイトル」と「日付」をチェックして既に存在するかどうか判断しています。
    そして、wordpress-theme-test-date-ja.xml ファイルには「タイトル」と「日付」が同じメディアが含まれています。よって「既に存在します」になるのは正常な動作だとおもわれます。

    どうしてもインポートしたい場合は、下記のコードを functions.php 等に組み込めば可能です。

    function my_import_existing_post( $post_exists, $post ) {
        if ( $post_exists ) {
            if ( $post['post_type'] == 'attachment' ) {
                $existing_post = get_post( $post_exists );
                if ( $existing_post->guid !== $post['guid'] ) {
                    $post_exists = 0;
                }
            }
        }
        return $post_exists;
    }
    add_filter( 'wp_import_existing_post', 'my_import_existing_post', 10, 2 );

    こちらも補足しておきます。

    インポート元のサイトにアクセスできない(閉鎖?)部分、既に幾つかの画像がサーバーにないことについてですが、

    wordpress-theme-test-date-ja.xml ファイルは 2014年に作成されています。当時は WordPress バージョン 3.8 だったと思います。

    だから、現在は、WordPress インポートツール プラグインは、「タイトル」と「日付」をチェックして既に存在するかどうか判断する仕組みであるために、「タイトル」と「日付」が同じメディアが含まれているwordpress-theme-test-date-ja.xml ファイルはスムーズに利用できないのでしょう。

    ですから、現在の 4.6.1 で利用するには十分な機能をデモンストレーション・学習用にするには不足といえます。

    トピック投稿者 bluesite

    (@bluesite)

    ishitakaさま
    熊本地震無料Wi-Fi流浪民さま

    補足をいただきありがとうございます。

    ご説明が分かりやすくよく理解できました。

    WordPressインポートツールプラグインの機能が
    分かれば今後の応用がききます。

    ishitakaさまが書いてくれたプログラムも
    内容が全然わからないですが((*ノωノ)この
    プラグインを使う時のために保存版にします。

    WordPress.orgのデータでも現在のバージョンに通用しない
    ことがあるのですね。

    実は、今年の6月に録画されたeラーニングを見てその通りに
    やったのですが、その先生は何の問題もなくインポートして
    いたような・・・

    少なくとも@set_time_limit( 180 );にしなければいけないような
    トラブルは録画の中ではありませんでした。どうしてだろう・・・

    プロの方だから、最初からその点は分かっていて調整していたのでしょうか。

    どちらにしてもWordPressの奥深さが分かりまだまだ
    勉強が足りないと思いました。

    長くなってすみません。
    wordpress-theme-test-date-ja.xmlを自分で作ることができますか?

    お返事いただければ嬉しいです。

    よろしくお願いいたします。

    必要であれば、自分で作っちゃいましょう。
    インストールした、wordpress-theme-test-date-ja.xmlをベースに加筆、改修してはどうでしょう。

    常に最新のWordPressの仕様にあわせて、改定したデータを公開していくようにしたら、多くのユーザーの役に立つでしょうし、 @bluesite さん同様な悩めるユーザーが喜ぶでしょう。

    おそらく、その先生は画像等は、不足分を補足して、データ内のアドレスをデモンストレーションするサイトに最適化しておいたのでしょう。

    今回の件でも同様ですし、これはサイトの引っ越しをするときも事前に行う基本的な行為です。

    手間は必要なことですが、将来的には新しいテーマを試す時に利用価値が大きいですよ。自分がどういうレイアウトを使うのか、それに相応しいテーマかを判断する目安がやりやすくなります。

    エクスポートで、wordpress-theme-test-date-ja.xmlの名前で保存すると、自分専用のテストデータが完成します。

    トピック投稿者 bluesite

    (@bluesite)

    熊本地震無料Wi-Fi流浪民さま

    ありがとうございます。

    つまり、インポートしたデータをWordPress内で編集してから
    今度はそれをエクスポートしてwordpress-theme-test-date-ja.xmlの
    名前で保存するということですね。なるほど!

    一つ質問ですみません。

    常に最新のWordPressの仕様にあわせて、改定したデータを公開していくようにしたら、

    最新のWordPressの仕様にあわせてとは、どの仕様のことですか?
    データの改定とは具体的に?
    例えばインポートツールプラグインが同じ日付があったらインポートしないとかですか?
    仕様の例を教えていただければ嬉しいです。(どれだけ素人かばれますね(^^;)

    それと、公開とはどこに公開するのですか?

    しつこい質問だらけで申し訳ありません。
    お忙しいところ、まだお付き合いいただければ
    ご回答お願いできますでしょうか。

    よろしくお願い申し上げます。

    その理解の方向通りです。最新のWordPressの仕様は、このフォーラムの「ドキュメンテーション」で把握できますね。
    このドキュメンテーションを学習していくことで、使い方は理解が深まります。

    >それと、公開とはどこに公開するのですか?
    そもそも、ここに公開されています。これを改定することでも良いでしょう。
    https://github.com/jawordpressorg/theme-test-data-ja/blob/master/wordpress-theme-test-date-ja.xml

    トピック投稿者 bluesite

    (@bluesite)

    熊本地震無料Wi-Fi流浪民さま

    ありがとうございます。

    ドキュメンテーションをよく読むようにします。
    自力で考えなければ力つかないですね。

    githubのご紹介もありがとうございました。

    沢山のご教示をいただきありがとうございました。
    本当に勉強になりました。

    また機会がありましたらどうぞよろしくお願いいたします。

12件の返信を表示中 - 1 - 12件目 (全12件中)
  • トピック「テーマユニットテストデータのインストールができない」には新たに返信することはできません。