質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.12%

サーバ移転に伴ったロゴ画像のアップロードエラーにつきまして

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 318

はじめまして。
岩本と申します。
プログラムに関して、全くのド素人です。
状況を上手く伝えられないと思いますので、変な表現や不足している情報がございましたら、ご教示していただけると幸いです。

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

 前提・実現したいこと

ワードプレスで作成したサイトにて、レンタルサーバの移転を行った所、ロゴ画像が表示されないという状況になりました。
ロゴ画像をアップロードしたいので、何卒よろしくお願い申し上げます。

 発生している問題・エラーメッセージ

テーマの機能であるロゴ画像のアップロード設定を行っても、画像データ名が全て「logo.png」に書き換わる。
また、画像は真っ白になっていて、以前のサーバにあったデータのキャッシュ?を読み込んでいるのか、アップローダーが正常に機能していない

イメージ説明

結果、サイトで確認するとロゴは表示されておらず、ロゴ画像のurlがhttpsではなく、httpssという存在しないurlに変更されてしまう。
(chromeのブラウザアプリview image infoでurlを確認)

イメージ説明

 試したこと

ネットで検索して調べた下記内容は、いずれも影響がありませんでした。

①キャッシュプラグインによるキャッシュのクリア

②該当ディレクトリのパーミッションを707に変更して、画像をアップロードし直す

③header-logo.phpの内容を、以前のサーバでのSSL化に伴うコード変更前に書き換える(初期状態へ戻す)
・コード内容の元サイト:http://tcd-manual.net/?p=3769
→元のサーバ状況では問題ありませんでした。
【変更したコード】

/**
 * ロゴ画像を保存しているディレクトリのURLを返す
 * @return type 
 */
function dp_logo_baseurl(){
    $dir = wp_upload_dir();
    $dir_url = $dir['baseurl'];
    if(is_ssl()){
        $dir_url_str = str_replace('http:', 'https:', $dir_url);
    }else{
        $dir_url_str = $dir_url;
    }
    return $dir_url_str.'/tcd-w';
}

【こちらのコードを変更する前のコード】

/**
 *ロゴ画像を保存しているディレクトリのURLを返す
 *@return type 
 */
function dp_logo_baseurl(){
    $dir = wp_upload_dir();
    return $dir['baseurl'].'/tcd-w';
}

④別のTCDテーマでも同様の状況が再現されたため、テーマを再インストールしてみるが、最新バージョンになっているという事で上書きできず。
また、一旦テーマを削除して再インストールするとなるとデータの引継ぎは出来ないのではないかと心配になり、中断。

 補足情報(FW/ツールのバージョンなど)

ワードプレスのテーマ:TCD-izm034及びTCD-CORE(いずれも最新バージョン)
サーバ移転用プラグイン:All-in-One WP Migration
レンタルサーバ:さくらインターネットのスタンダードプラン(PHPのモジュール版を使うため、古い契約から最新契約へ更新)
(旧)PHP5.6→(現在)PHP7.28(モジュール版)
(旧)mysql5.5→(現在)mysql5.7

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

check解決した方法

0

解決いたしました。

③header-logo.php内コード

$dir_url_str = str_replace('http:', 'https:', $dir_url);

こちらが、親テーマも子テーマも下記のように変更されていました。

$dir_url_str = str_replace('http', 'https', $dir_url);

コロン(:)が何故かなくなっていました。
親テーマと子テーマ共にコロンの部分を追加するとアップローダーが正常に戻りました。

移転前の段階から大元のコードをコピペした内容を使っていたので、私はその部分を操作していません。
TCDテーマとAll-in-One WP Migrationの間で起きるピンポイントなバグなのでしょうか…?
header-logo.phpの中には他にもコロンを用いた箇所はありましたが、該当箇所だけがピンポイントにコロンが消失していました。

何にしても解決できて良かったです。

お付き合いいただいたm6uさん、ありがとうございました!

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

設定 > 一般設定 > サイトアドレス (URL)
とか間違っていませんか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/09/12 10:54

    さくらインターネットの(共用)レンタルサーバーって、
    無料SSL(Let's Encrypt) が利用できたりしますが、
    これをもしも有効にしているなら一旦止めるのもありかと。

    キャンセル

  • 2018/09/12 10:59

    ですです。
    その無料SSL(Let's Encrypt)を利用しています。

    移転プラグインを使う前に、一度SSL化してからやっていますが…
    もしかして、それを一旦止めてから、アップローダーを使ってロゴをあげて、その後無料SSL(Let's Encrypt)を利用するってやれば、なんとかなるのかも…?

    ちょっと今日中に試してみようと思います!
    試してみたら、またここで報告しますね~!

    キャンセル

  • 2018/09/12 11:14

    再利用するのも時間かかるし、やっぱりすぐやってみようと思って、一旦止めてみたのですが…
    httpのアドレスからダッシュボードに入ろうとしても、入れない状態です…

    これは、先にサイトのurl設定の所でhttpに変更してから、無料SSLを停止するという流れでやるべきだったのでしょうか…?

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる