サポート » 使い方全般 » ヘッダ画像の変更ができない。

  • カスタムヘッダとして、ヘッダ画像を変更したいのですが、いろいろ試してみたものの、ヘッダ画像の変更がどうしてもできません。

    ■作業手順としては以下になります。
    ①外観のヘッダーを選択し、カスタムヘッダーを表示
    ②画像のファイルを選択してアップロード、又はデフォルト画像から画像を選択
    ③「変更を保存」を押下
    ④外観のテーマの管理画面に遷移してしまい、ヘッダが変更されない。

    ■動作環境は以下になります。
    OS:Windows Server2008 Standard
      32ビットオペレーティングシステム
    Webサーバ:IIS v7.5
    プログラム言語:PHP5.3.8
    DB:MySQL5.5.16
    ツール:phpMyAdmin
    テーマ:Twenty Eleven 1.2
        または、Simply Works Core 1.5.3
            Simply Works Coreでは、Theme Optionsでカラ―の変更等を行い、
            saveした時も同様の現象は起きるものの(外観のテーマの管理画面
            に遷移してしまう。)、保存はされているようで、リロードすると
            色はきちんと変更されます。

    以下については確認済みです。
    ・投稿、画像のアップロード
    ・プラグインを使用してのGoogleMap等の使用
    ・php_gd2.dllの有効化
    ・各フォルダの権限の設定

    また、同様の環境を用意して再現テストも実施したのですが、上記のような現象にはならなく、正常動作しています。どなたか、解決方法をご教授いただけないでしょうか。クライアント様にも現在ご迷惑をおかけしている状態で、早急に解決したいのです。。。
    宜しくお願い致します。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • こんにちは

    GDを使って、テーマをカスタマイズしていないですか?

    外観のテーマの管理画面に遷移

    外観のテーマの管理画面とは、現在のテーマや、他のテーマへの切り替えを行うページのことですか

    プラグインをすべてはずし、twentyeleven(カスタマイズしていないもの)に差し替えても、同じ動作をしますか?

    トラブルに対して、どんなことをこれまで確認したか具体的な内容が、不足しているように見えます。不具合事項から、原因を見出すことは難しいと思いますので、より具体的に書いたほうが、回答がつきやすいと思います。

    トピック投稿者 tadano

    (@tadano)

    何分、初心者で、wordpressを使用するのは今回が初めてです。そのため、的外れな質問をしてしまっていたらすみません。

    以下、今回行った手順です。
    ①PHPのインストール
     以下を修正
     (1)環境変数:C:¥php;
     (2)php.ini:extension_dir = “C:¥php¥ext”
            date.timezone = Asia/Tokyo
            extension=php_mbstring.dll
            extension=php_mysql.dll
            extension=php_mysqli.dll
            include_path = “.;C:¥php¥includes”
            mbstring.internal_encoding = UTF-8
            mbstring.http_input = auto
            mbstring.http_output = SJIS
            mbstring.encoding_translation = Off
            mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
            magic_quotes_gpc = Off
            magic_quotes_runtime = Off
            magic_quotes_sybase = Off
            extension=php_gd2.dll

    ②IISのインストール
     (1)CGIにチェックを入れてインストール
     (2)「http://localhost/」にて表示確認済み
     (3)IISマネージャより、各設定済み
     (4)phpinfo()にて、PHP動作確認済み

    ③mysqlのインストール
     (1)mysqlへのログイン確認済み
     (2)データベース作成済み

    ④wordpressインストール
     (1)wp-config.phpを以下のように修正
       define(‘DB_NAME’, ‘testdb’);
    define(‘DB_USER’, ‘wp_test’);
    define(‘DB_PASSWORD’, ‘wp_testdesu’);
    (2)wordpressにアクセスし、インストール
     (3)インストールに成功したので、ログイン
     (4)特に何も変更せず、デフォルトのテーマを使用
     (5)この状態で、カスタムヘッダにてデフォルト画像の変更

    上記が行った手順です。
    この状態で、カスタムヘッダの画像を変更(アップロード、またはデフォルトの画像を選択)し「変更を保存」を押下した際、外観のページに遷移します。

    以下、上記を確認するために行った作業です。
    ①phpinfoで、gdが有効になっているか。⇒ 有効
    ②今回使用するフォルダの権限の確認。⇒  とりあえず全てフルコントロールに設定済み
    ③アップロードする際に一時的にフォルダに保存される「C:\Windows\Temp」の権限もフルコントロールに設定済み
    ④投稿ができるか。⇒ 投稿できる
    ⑤投稿で画像がアップロードできるか。 ⇒ アップロードできる
    ⑥プラグインが追加できるか。 ⇒ できる
    ⑦テーマの変更ができるか ⇒ できる

    同様の環境を用意し、上記と同じ設定で確認したところ、GDを有効にしない場合はエラーページに遷移しました。GDを有効にした場合、正常にヘッダの変更ができます。
    しかし、本番環境では、エラーページに遷移せずに、GDの有効関係なく外観のページに遷移してしまいます。

    今週中にはお客様に納品しないといけないため、とても困っています。
    宜しくお願い致します。

    トピック投稿者 tadano

    (@tadano)

    調査を続けていますが、以下になっていることがわかりました。
    ・wordpressインストールでのデフォルトの状態でテストサーバと、本番環境でのカスタムヘッダ変更時のパスが異なっている。

    本番環境
    <input type=”hidden” name=”_wp_http_referer” value=”/honban/wp-admin/themes.php” />
    <p class=”submit”>
    <input type=”submit” name=”save-header-options” id=”save-header-options” class=”button-primary” value=”変更を保存” /></p>

    テストサーバ
    <input type=”hidden” name=”_wp_http_referer” value=”/test/wp-admin/themes.php?page=custom-header” />
    <p class=”submit”>
    <input type=”submit” name=”save-header-options” id=”save-header-options” class=”button-primary” value=”変更を保存” /></p>

    どういう設定をすれば、テストサーバのように「page=custom-header」がパスに設定されるのでしょうか。
    本番環境とテストサーバでのインストール手順は一緒です。
    このような現象が起きるのはどうしてわからないでいます。
    どなたかご教授ください。
    宜しくお願い致します。

    こんにちはtadanoさん

    <input type="hidden" name="_wp_http_referer" value="/honban/wp-admin/themes.php" />

    のリファラの値は、 wp_referer_field() という関数が生成しているものです。

    要は、$_SERVER[‘REQUEST_URI’] を表示しているわけですが、IISがこれを取得できていないんじゃないか?という素朴な疑問があります。

    テスト用のファイルを作成して、$_SERVER[‘REQUEST_URI’] クエリストリングを含めて取得できているかどうか、WEBサーバでチェックしてみてはどうでしょうか

    参考
    http://wordpress.org/support/topic/howto-fix-problems-associated-with-iis-7-request_uri-variable?replies=1

    トピック投稿者 tadano

    (@tadano)

    回答、ありがとうございます。
    以下にて確認してみました。


    <?php
    foreach($_SERVER as $key => $value){
    echo $key.”:”;
    echo $value.”
    \n”;
    }
    ?>


    <?php
      echo $_SERVER[‘REQUEST_URI’];
    ?>

    テストサーバと本番環境にて確認しましたが、差異はありませんでした。

    どのタイミングでカスタム関連のパスは設定されるものなのでしょうか。
    wordpressをインストールした際に、自動でパスが設定されるものなのでしょうか。
    (その情報はDBに保存されているのでしょうか。)

    宜しくお願い致します。

    こんにちは、

    2の件は

    http://example.com/test.php?page=custom-header 等として、クエリの値が取得できたということで良いんですか?

    どのタイミングでカスタム関連のパスは設定されるものなのでしょうか。
    wordpressをインストールした際に、自動でパスが設定されるものなのでしょうか。
    (その情報はDBに保存されているのでしょうか。)

    パスは、保存されていません。現在の、パスを $_SERVER[‘REQUEST_URI’];を使って取得して、_wp_http_refererの値としています。

    参考URLに示したようにIIS7ぐらいまでは、$_SERVER[‘REQUEST_URI’]が、クエリストリングを取得しないということが言われており、そのことは、検索すればたくさん見つかるはずです。

    IIS7.5でそのバグがfixされているかどうかは、私はIISユーザでないので解らないのです

    このため、$_SERVER[‘REQUEST_URI’]が正しく、現在のURL(クエリ付の)が正しく取得できるかどうか、確認することをお勧めしたのです。

    http://www.example.com/honban/wp-admin/themes.php?page=custom-header としてアクセスしなければ、ヘッダーのオプションパネルは表示できないのです。
    このURLからパスを取得して、フォームに埋め込むので、$_SERVER[‘REQUEST_URI’]に問題があると考えているのです。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「ヘッダ画像の変更ができない。」には新たに返信することはできません。