フォーラムへの返信
-
投稿者投稿
-
子テーマでも My Snow Monkey プラグインでも、カスタマイズが増えた時にメンテナンス性をどうするのかというのは、人それぞれのような気もしますが、個人的にはファイルやディレクトリの整理と、必ずドキュメントを残すようにするのがいいと思います。
私の場合は、My Snow Monkey プラグインで、カスタマイズごとにファイルを分割して、ファイルコメントも必ず書くようにしています。
この前やった案件だと、こんな感じでした。my-snow-monkey-plus/ ├── my-snow-monkey-plus.php # メインプラグインファイル ├── includes/ # プラグイン本体のクラスファイル │ └── class-my-snow-monkey-plus.php # メインクラス ├── functions/ # テーマ非依存のカスタマイズ │ ├── -create-pages-admin-menu.php # 固定ページ一括作成機能(無効化) │ ├── add-custom-columns.php # 管理画面カラム追加 │ ├── custom-admin-menu.php # 管理画面メニューカスタマイズ │ ├── custom-post-type.php # カスタム投稿タイプ定義 │ ├── custom-taxonomy.php # カスタムタクソノミー定義 │ ├── posts-search.php # 欄検索・スペース検索を無効化、検索の全角スペース対応 │ ├── remove-block-patterns.php # コアのブロックパターンを無効化 │ └── yoast-seo-change-ogp-image.php # Yoast SEO OGP画像のカスタマイズ ├── snow-monkey/ # Snow Monkey テーマ用のカスタマイズ │ ├── add-color-palette.php # カラーパレット追加 │ ├── args-common-entries-entries-carousel.php # 最近の投稿・カルーセルをランダム表示にする │ ├── args-related-posts.php # 関連記事のレイアウト、表示件数等を変更 │ ├── args-view-content.php # 投稿タイプごとの投稿日、前後の記事、関連記事の表示を変更 │ ├── block-styles.php # ブロックスタイルの登録 │ ├── body-class.php # ページスラッグ、カテゴリーのスラッグをボディクラスに追加 │ ├── content-entry-header-header.php # Works and Voices のシングルページで、エントリータイトルの後にカテゴリー名を表示 │ ├── content-eyecatch.php # アイキャッチの後にクライアント名を表示 │ ├── content-related-posts.php # job-posts の場合に、関連投稿の見出しの後に一覧へ戻るボタンを表示する │ ├── enqueue-scripts.php # CSS/JS読み込み │ ├── footer.php # フッターのカスタマイズ │ ├── global-nav.php # 特定のページで、グローバルナビを別のメニューに入れ替える │ ├── header-layout.php # 特定のページで 'sticky-overlay-colored' に変更 │ ├── header-site-branding.php # Recruit ページで、logo の画像とリンクを変更 │ ├── loop-entry-summary.php # 最近の投稿 Works and Voices の抜粋の下に「詳しく見る」を表示する │ ├── loop-entry-summary-content-content.php # 最近の投稿 Works and Voices にカテゴリーを表示する │ ├── loop-entry-summary-title-title.php # Works and Voices、Interview のタイトルの後にカテゴリー等を表示する │ ├── page-header.php # 特定のページでページヘッダーを変更 │ ├── sm-after-entry-content.php # エントリーコンテンツの後に同期パターンを表示 │ ├── sm-append-contents.php # フッターの上にCTAを追加 │ ├── sm-append-footer.php # エントリーフォームに飛ぶ追従ボタンを追加 │ └── sm-before-contents-inner.php # 求人情報のアーカイブページで、検索ボックスの前に「募集検索」のタイトルを追加 ├── assets/ # リソースファイル │ ├── css/ # コンパイル済みCSS │ │ ├── style.css # フロント用スタイル │ │ └── editor-style.css # エディター用スタイル │ ├── scss/ # SCSSソースファイル │ │ ├── _variables.scss # CSS カスタムプロパティ │ │ ├── _common.scss # 共通スタイル │ │ ├── _block-style.scss # ブロックスタイル │ │ ├── style.scss # フロント用エントリーポイント │ │ └── editor-style.scss # エディター用エントリーポイント │ ├── js/ # JavaScript │ │ └── form-validation.js # チェックボックスにチェックが入っていないと送信ボタンを無効化 │ └── images/ # 画像ファイル │ └── icon/ # SVGアイコン │ └── svg/ # SVG画像 └── README.md # プラグイン説明書カスタマイズ前のベースは、これです。
https://github.com/rocket-martue/my-snow-monkey-plus日本語化されていないのと、ショートコードを埋め込む形にはなりますが、
こちらのプラグインで、単一ページ内の検索が可能ですので試してみてください。こんにちは。
CSSで対応するとしたらこんな感じでしょうか。.l-1row-header .u-invisible-lg-up { display: block !important; }♥ 0Who liked: No user的外れだったらすみません。
セキュリティプラグイン等で、REST API をブロックしていませんか?https://example.com/wp-json/snow-monkey-forms/v1/forms(example.com は自分のサイトのドメインに置き換え)
→ JSON が返ればOK。
→ HTMLや403/404が返る場合は REST API がブロックされている可能性があります。♥ 0Who liked: No user3 の方法を試してみてください。
♥ 0Who liked: No userヘッダー位置の設定がオーバレイ(上部固定)で、アイキャッチ画像を設定していないのが原因だと思います。
対応方法はいくつかあります。- 各投稿にアイキャッチ画像を設定する。
- 投稿のシングルページを開いた状態でカスタマイザーを開いて「投稿ページ設定」のアイキャッチ画像の位置を「ページヘッダーの上にタイトルを表示」に変更する。
- My Snow Monkey に以下のコードを追加して投稿ページのヘッダー位置を変更する。
/** * シングルページでのヘッダー位置をカスタマイズ * * @param string $value ヘッダー位置の値. * sticky : 上部固定 * sticky-overlay : オーバレイ(上部固定) * sticky-overlay-colored : オーバーレイ(上部固定 / スクロール時背景白) * overlay : オーバレイ * '' : ノーマル * @return string 投稿のシングルページの場合は 'sticky' を、それ以外は元の値を返す。 */ add_filter( 'theme_mod_header-position', function ( $value ) { if ( is_single() ) { return 'sticky'; } return $value; }, 10, 1 );アイキャッチ画像を設定しないのなら、2か3の方法を試してみてください。
固定ページなので、
post=46じゃなくてpage_id=46だと思うんですが、/wp-json/wp/v2/pagesで見ると商品紹介ページはpage_id=38です。
https://nokanoka.jp/?page_id=38page_id=46は、商品一覧のページのようです。
https://nokanoka.jp/?page_id=46すみません。上のウィジェットは、サイドバーがあると全幅にならないですね。
「個別投稿(記事)ページ上部」にウィジェットを表示したい のコードを以下のように修正してください。
### ウィジェットエリアを定義
add_action( 'widgets_init', function () { register_sidebar( array( 'name' => '個別投稿の上部のサイドバー', 'id' => 'my-single-top-sidebar', // ウィジェットエリアの名前 'before_widget' => '<div id="%1$s" class="c-widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h2 class="c-widget__title">', 'after_title' => '</h2>', ) ); register_sidebar( array( 'name' => 'アーカイブページ上部のサイドバー', 'id' => 'my-archive-top-sidebar', // ウィジェットエリアの名前 'description' => 'カテゴリー、タグ、日付アーカイブページの上部に表示されるウィジェットエリア', 'before_widget' => '<div id="%1$s" class="c-widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h2 class="c-widget__title">', 'after_title' => '</h2>', ) ); } );### ウィジェットエリアを表示
add_action( 'snow_monkey_before_contents_inner', function () { // 個別投稿の場合 if ( is_single() ) { // my-single-top-sidebar ウィジェットエリアを表示 dynamic_sidebar( 'my-single-top-sidebar' ); } // アーカイブページまたは投稿一覧ページの場合 if ( is_archive() || is_home() ) { // my-archive-top-sidebar ウィジェットエリアを表示 dynamic_sidebar( 'my-archive-top-sidebar' ); } } );投稿一覧ページは「投稿ページ上部」、それ以外のアーカイブページは「アーカイブページ上部」のウィジェットがあるので、使用してみてください。
♥ 0Who liked: No userコンテンツの最大幅550pxだと、参考サイトのように文字サイズの調整をしないと窮屈になるので、自分だったらコンテンツの最大幅はリセットして、「コンテンツの幅をスリム幅にする」の方を使うと思います。
♥ 0Who liked: No userdrop-nav.js の
window.addEventListener("resize:width", (() => n()), !1);が原因のようです。
n()はaria-hiddenを"true"にしてhideDropNavイベント飛ばしてるので幅が変わるたびに非表示になる。♥ 0Who liked: No userドロップナビが表示されている状態で、windowのリサイズをすると
<div class="l-header__drop-nav" aria-hidden="true">になるので、ドロップナビは表示されなくなります。
そのまま下にスクロールしてもドロップナビは表示されませんが、一旦ページ最上部まで戻ってからスクロールするとドロップナビが表示されるようです。♥ 0Who liked: No user -
投稿者投稿

