サポート » 使い方全般 » 一般設定画面からヘッダーにロゴを表示させたい

  • 解決済 okacloud

    (@okacloud)


    10月からWordPressおよびPHPを使用し始めた超初心者です。

    ある企業向けにブログを作成していただこうと、
    WordPressを改修しようとしているところです。

    やりたいことはヘッダーにロゴを表示させることなのですが、
    企業の方にロゴのアップロードから行ってもらう予定ですので、
    自分で作成したテーマのheaer.phpを修正するだけではできませんでした。

    実現イメージとしては、管理画面の一般設定の画面とoptionsのテーブルに
    ロゴの項目を追加して、更新するとデータが保存され表示される
    という感じです。
    現在はローカルで指定したロゴファイルが更新されない状態で困っていますが、
    そもそも根本的にやり方が違うのではないか、とも思い始めています。

    WordPressのヴァージョンは2.8.4
    MySQLのヴァージョンは5.0.45
    です。

    なにぶん初心者なうえ、これが実現可能かどうかも定かではないのですが、
    ご助力願えればと思います。よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター jim912

    (@jim912)

    okacloudさん、こんにちは。

    実現は可能ですが、WoredPress&PHP初心者には、少々ハードルが高いのではないかと思います。特にロゴをアップロードする処理はすぐに理解することは難しいと思います。

    妥協案ですが、ファイルのアップロードは、メディアの新規追加で行ってもらい、ファイルのURLをロゴの入力欄にコピー&ペーストしていただくような手順にすることは出来ませんか?

    管理画面に項目を追加するには、add_settings_field関数を用いると共に、whitelist_optionsのフィルターフックで項目名を追加すれば実現できます。

    これも難しいようであれば、アップデート時に同じ作業をやることになりますが、options-general.phpの管理画面ソースにロゴの項目を追加し、options.phpの$whitelist_options変数の’general’の項目にロゴの項目名を追加してあげれば、よいです。

    あるいは、使わない項目(キャッチフレーズとか)をロゴに割り当ててしまうという手もあります。

    トピック投稿者 okacloud

    (@okacloud)

    jim912さん、はじめまして、こんにちは。

    まず妥協案のほうですが、
    >options-general.phpの管理画面ソースにロゴの項目を追加し、options.phpの$whitelist_options変数の’general’の項目にロゴの項目名を追加してあげれば、よいです。
    の方を実行してみた結果、画像更新させることができました!
    (add_settings_field関数の使い方がよく分からなかったためです…)

    ですが、やはりお客様にURLをロゴの欄にコピペしていただくというのは
    「なんでこんな手間をかけないといけないの?」と指摘を受けそうだなと今から考えております。

    考えた挙句、メディアの新規追加画面(media-new.php)をゴソッと
    options-general.phpのロゴ部分にコピペして、
    画像をUpdateしている部分を変更すればいいのかな?
    と思っていたのですが、見ても分かりませんでした…。
    (wp-admin/upload.phpやoptions-media.phpを見てみたのですが…。)
    ちなみにロゴ画像はメディアライブラリとは違うフォルダに格納しようとしております。

    技術が及ばないかもしれませんが、どのようにすれば実現できるかご教授願いたいと思っております。よろしくお願いいたします。

    すみません。ちょっと前提の話ですが。
    そんなに頻繁にログ画像を差し替えるんですか?

    かなーりな妥協案ですが、ロゴをアップロードするためだけのphpプログラムを作るってのも手かもしれません。
    その企業の人の作業量がどんなものなのか想像つきませんのでなんとも・・・

    トピック投稿者 okacloud

    (@okacloud)

    kvexさん、はじめまして、こんにちは。

    おっしゃる通り、ロゴ画像は頻繁に差し替えはないと思っています。
    しかし現状としてはそれが要件らしいので、なんとか実現させてみようとしている状況です。

    >ロゴをアップロードするためだけのphpプログラムを作るってのも手かもしれません。
    そう言われて調べてみると、phpだけ(という表現でよいのでしょうか)でアップロードできることを始めて知りました…。
    てっきりメディア新規登録の画面みたいにするしかないのかと…。(調査不足ですみません)

    そこで、以下のサイトを参考にoptions-general.phpの追加したロゴ項目の<input type=”file”>の横に、アップロード用のボタンを追加する形で試してみたところ、
    アップロードできました!

    それから自画面遷移させようとしたり何だりしていたのですが、
    画像更新もjim912さんに教えていただいたので、あとは何とかなりそうだと思っております。
    もしかしたらまた、別の問題で質問してしまうかもしれませんが、
    このトピックは解決としようと思います。

    jim912さん、kvexさん、ありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「一般設定画面からヘッダーにロゴを表示させたい」には新たに返信することはできません。