• 解決済 Anonymous User 4963935

    (@anonymized-4963935)


    WordPress2.4.8を、ブログとしてではなく、通常サイトのCMSとして使用するためにカスタマイズしており試行錯誤していますが、サイト全体の色調(同じレイアウトで異なった配色=カラーバリエーション)をWordPressの管理画面から利用者が変更できるようにするには(つまり、コードを触らずにグラフィックインターフェイスから自動で変更できるようにするには)、同じレイアウトで異なった配色のテーマを幾つか予め用意しておくことで対応するのが推薦されるやり方なのでしょうか?この場合、利用者は、WordPress管理画面の「外観」タブ→「テーマ」から異なった色のテーマを選択することによりサイトの配色を変更するという方法です。こちらが推薦されるやり方の場合、その旨をお教えいただければ、幸いです。

    もっと良い方法(推薦される方法)があればお教えください。

    テーマに関しては、A)自分で完全にテーマを作成するサイト(こちらは、現在、開発中で静的サイトを基にCMS化しているもの)とB)予め作成されている テーマを流用するサイト(現時点では、まだ、手をつけていません。)の両方の開発< A)とB)は別々のサイトとなります。 >を考えています。ただし、 出来れば現在開発中のA)サイトの方を先になんとかしたいです。

    少しPHPもいじれますので、サンプルコード、プラグイン、流用できそうなコード、資料(本、サイト<英文サイト可能>)等をお教えいただければ幸いです。

    よろしくお願いします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック投稿者 Anonymous User 4963935

    (@anonymized-4963935)

    上記のコメントで書き忘れましたが、わたしはWordPressに関しては10月から始めた初心者です。
    よろしくお願いします。

    モデレーター jim912

    (@jim912)

    doganteさん、こんにちは。

    スマートなのは、デフォルトテーマを選択したときに、外観メニューに追加される「カスタムヘッダー」のようにメニューを追加し、そこでヘッダーの背景色や配色を選択できるようにする方法かと思います。

    ただし、それなりにWordPressへの理解が必要だと思いますので、手軽く実装するなら複数テーマを用意しておく方法ですね。

    メニューを追加する方法は、デフォルトテーマのfunctions.phpが、まんま参考になります。

    add_action('admin_menu', 'kubrick_add_theme_page');

    でadmin_menuフックにkubrick_add_theme_page関数が追加されます。

    この関数が実行されると、カスタムヘッダー関連の設定保存・更新処理が実行されています。いくつか記述されているupdate_option関数は、DBのoptionsテーブルを更新する命令ですね。
    当該関数の最後の方に記述されている

    add_theme_page(__('Custom Header'), __('Custom Header'), 'edit_themes', basename(__FILE__), 'kubrick_theme_page');

    が外観メニューにサブページを追加する命令です。最後の引数 kubrick_theme_pageがサブメニューをクリックしたときに実行される関数名ですね。

    もし、複数テーマを用意しておく方法を採るのであれば、1つのテーマだけ各種テンプレートを用意し、それ以外のテーマはstyle.cssのみのテーマにしておくと、後々のメンテナンスが楽になります。
    この手法はcodexのテーマの作成 > テーマスタイルシートに書いてありますので参考にしてみてください。

    トピック投稿者 Anonymous User 4963935

    (@anonymized-4963935)

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

    >もし、複数テーマを用意しておく方法を採るのであれば、1つのテーマだけ各種テンプレートを用意し、
    >それ以外のテーマはstyle.cssのみのテーマにしておくと、後々のメンテナンスが楽になります。
    現状では、上記の方法が私に一番むいているようです。

    >この手法はcodexのテーマの作成 > テーマスタイルシートに書いてありますので参考にしてみてくだ
    >さい。
    上記のリンク確認させていただきました。上記のcodexページで一つ分からないことがあったのですが、「codex」の「テーマスタイルシート 」項目に
    「さらに (WordPress 2.7 の時点では)、子テーマはテンプレートファイルを含む事もできます。このファイルは通常の通り管理パネルから選択して、親テーマ内の同名のファイルより優先させることができます。 」
    という説明がありましたが、この操作(子テーマのテンプレートファイルを親テーマ内の同名のファイルより優先させる)はWordPress2.4.8の場合、どこから行なうのでしょうか?

    よろしくお願いします。

    モデレーター jim912

    (@jim912)

    doganteさん、こんにちは。

    「さらに (WordPress 2.7 の時点では)、子テーマはテンプレートファイルを含む事もできます。このファイルは通常の通り管理パネルから選択して、親テーマ内の同名のファイルより優先させることができます。 」
    という説明がありましたが、この操作(子テーマのテンプレートファイルを親テーマ内の同名のファイルより優先させる)はWordPress2.4.8の場合、どこから行なうのでしょうか?

    これについては、私も試していなかったので推測にはなるのですが、子テーマに同名のテンプレートが存在する場合は、自動的に子テーマのテンプレートが利用されると理解しています。
    明日検証してみようと思いますが、もし分かったら教えていただけると助かります。

    トピック投稿者 Anonymous User 4963935

    (@anonymized-4963935)

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

    了解しました。色々試しているうちに分かれば記載しときます。
    一様、この件は解決済みとさせていただきます。

    モデレーター jim912

    (@jim912)

    doganteさん、こんにちは。

    検証してみました。
    defaultテーマをディレクトリごとコピーし、ディレクトリ名とテーマ名を変更、親テーマをdefaultとし、CSS、画像以外を一旦全て削除。
    子テーマを有効にして動作することを確認した後、index.phpのみdefaultから再度コピーし、ソースを一部改変したところ、index.phpのみ子テーマのindex.phpが利用され、それ以外のテンプレートについては、親テーマのテンプレートが利用されていました。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「サイト全体の色調をWordPressの管理画面から利用者が変更できるようにする」には新たに返信することはできません。