フォーラムへの返信
-
投稿者投稿
-
そうですね、これまでよりは難しくなると思います。まだ日本語での開発情報はあまりないのもあります…。
ウィジェットは僕が試したときは WordPress のデフォルトウィジェットが全部使えるわけじゃなくて一部だったので、Gutenberg 用に作る必要があるのかなと考えていましたが、今は Elementor みたいにどのウィジェットも普通に使える感じでしょうか?どうやって対応させるかも僕はまだ情報を見たことがないので、情報がでてこないとちょっと僕のスキルでは難しいかなという気はしています。
ぼちぼち進めていきたいとは思ってますので、気長にお待ちいただければと思います^^;
♥ 0Who liked: No user子テーマでテンプレートを上書きすると、親テーマ(ここでは Snow Monkey ですね)のアップデートが子テーマに反映されないという問題がどうしても発生します。
そのため、親テーマでは「いかに最小単位で必要な部分だけを子テーマで上書きできるようにするか」というのが大事になってくるのですが、Snow Mokey では独自のテンプレート構造を用いることでそれを実現しています。
Snow Monkey の基本的なテンプレート構造は次のようになっています。
(カテゴリーページの場合)
- archive.php
- 大枠のレイアウトが定義されたレイアウトファイル (
templates/layout/xxxx.php
) の読み込み - コンテンツ部分が定義されたビューファイル (
templates/view/archive-投稿タイプ.php
) の読み込み
- 大枠のレイアウトが定義されたレイアウトファイル (
それぞれにどのようなコードを書けば良いかは Snow Monkey のレイアウトファイル、ビューファイルを参考にしてもらえればと思いますが、ヘッダー、サイドバー、フッターの読み込みについては、これも独自のコードで読み込むようになっておりまして、それぞれ次のようになります。
- ヘッダーファイルの読み込み (
wpvc_get_header( 'xxxx' )
で/templates/layout/header/xxxx.php
を読み込み ) - サイドバーファイルの読み込み (
wpvc_get_sidebar( 'xxxx' )
で/templates/layout/sidebar/xxxx.php
を読み込み ) - フッターファイルの読み込み (
wpvc_get_footer( 'xxxx' )
で/templates/layout/footer/xxxx.php
を読み込み )
大枠レベルでデザインを変えたい場合
子テーマで変更しやすいようにカテゴリー専用のファイルは用意していないので
archive.php
起点になっていますが、もしヘッダー・フッター・サイドバーとか大枠レベルでカテゴリーごとにデザインを変えたい場合はcategory-slug.php
を作成し、その次のように記述します。if ( have_posts() ) { $controller->render( 'category-slug' ); } else { $controller->render( 'none' ); }
そして、
/templates/layout/wrapper/category-slug.php
を作成して大枠の HTML を記述、/templates/view/category-slug.php
を作成してビュー部分の HTML を記述、という手順になります。ビュー部分(一覧が並ぶ部分)だけデザインを変えたい場合
いろいろやり方はありますが、たぶん次の方法がベストだと思います。
category-slug.php
を作成し、その次のように記述します。if ( have_posts() ) { $controller->render( 'category-slug' ); } else { $controller->render( 'none' ); }
そして、
/templates/view/category-slug.php
を作成してビュー部分の HTML を記述してください。カテゴリーごとに異なる CSS ファイルを読み込ませる
header 部で、個々に css ファイルをリンクなどさせればよろしいかと思いますが、
と書かれていましたが、WordPress は
header.php
などに直接 link タグで CSS を読み込むことを推奨していません。CSS の読み込みはwp_enqueue_scripts
アクションフックの中で、wされています。wp_enqueue_style
を使っておこなうことが推奨されています。例えば、子テーマのfunctions.php
に次のように記述します。add_action( 'wp_enqueue_scripts', function() { if ( is_category( 'slug' ) ) { wp_enqueue_style( 'category-slug', get_stylesheet_directory_uri() . 'category-slug.css' ); } } );
多分これを読んでも初見ではなかなか慣れなくて難しいと思いますので、ちょっと試されてみて、またご質問いただければと思います(慣れればこのような構成にしている利点が見えてくると思います…!)
♥ 0Who liked: No userやらねばやらねばと思いながら後回しにしていましたが、ぼちぼちやり始めないといけませんね。
多分今のままだと HTML コンポーネント挿入ボタンが表示されなくなってしまうので、ボタンが出せればボタンをだすようにするか、もしくは Gutenberg のブロックとして再実装するかで考えています。♥ 0Who liked: No userv4.0 で対応しましたのでクローズします!
♥ 0Who liked: No userv4.0 で対応しましたのでクローズします!
♥ 0Who liked: No userv4.0 で対応しましたのでクローズします!
♥ 0Who liked: No userv4.0 で対応しましたのでクローズします!
♥ 0Who liked: No userv4.0 で対応しましたのでクローズします!
♥ 0Who liked: No userずっと「反転」モードのボタンだけが表示されるようになる可能性
↓
反転モードのボタンはある程度目立つので、ボタンをクリックしようとボタンにオンマウス
↓
すでに反転モードになっているので何も変化しない……あーそうですね、その混乱はありそう。素直にボタンホバーにするようにします!ご助言ありがとうございます。
♥ 0Who liked: No userまだリリースはしていませんが、とりあえず手元で
- ピックアップスライダーの設定パネルでリンク種類を「ボタン」「全体」から選択できるように
- 全体の場合は、画像全体にリンクがはられ、画像にリンクがのった段階でボタンが反転
というふうにしてみました。
♥ 0Who liked: No userむむ、なるほどー。
その画像ないしエリアにリンクが貼られていることを伝えるための「デザイン的なお飾り」アイテムだと思っていて、
なんかこれを聞いて確かにそうかも、という気がしてきました。全体リンク、ボタンのみリンク、選べるようにしようかな…。ちょっとやってみて検討します!
ちなみに、今ボタンにマウスのると色が反転するようになっているのですが、全体リンクにした場合、ボタン上じゃなくても画像にマウスがのった時点で反転したほうが良いと思いますか?
♥ 0Who liked: No userあ、そうです、サーバーのほうです、解決できたとのことで良かったです!
トピッククローズしときますね。♥ 0Who liked: No user恐らくですが、PHPのバージョンがひくいのではないかとおもいます。Snow Monkey は、PHP5.6 以上が必要です。5.6 未満の場合は、可能であればバージョンを上げてみてください。
♥ 0Who liked: No userSnow Monkey サイトのメンバー限定記事は、WooCommerce Subscriptions プラグインと連動して制限をかける独自のプラグインをつくっています。
結構コード量が多いので、やるなら
functions.php
よりもプラグインをつくったほうが良いかなと思います。でも、結構ニーズある機能だと思うので、探したらつくらなくてもプラグインあったりするかもですね。使ったことはないですが、これとかどうですかね。
♥ 0Who liked: No userピックアップスライダーについて、やはりボタンがあるならボタンだけ押せる、というのが UI 的に混乱が少ないと思いますし、これについては子テーマでカスタマイズして全面リンクにして頂くのがスマートかなと思います。テンプレートの上書きとカスタマイズが必要になるのでちょっと難しめかもしれませんが、その方法でよければご提示できるように試してみます。
ショーケースのサムネイルクリックについては、確かにそのほうが良いかなと!サムネイルがリンクになっている UI は結構多いので。これについては 4.0 正式リリースまでに反映させるようにします!
♥ 0Who liked: No user - archive.php
-
投稿者投稿