メインコンテンツへ移動

テンプレート編集で作成したページにナビゲーションを設置したい。

0
Who liked: No user
  • このトピックには10件の返信、2人の参加者があり、最後にfirmにより3週、 3日前に更新されました。
11件の投稿を表示中 - 1 - 11件目 (全11件中)
  • 投稿者
    投稿
  • #146639
    firm
    参加者
    1

    【お使いの Snow Monkey のバージョン】29.1.6
    【お使いの Snow Monkey Blocks のバージョン】24.1.4
    【お使いの Snow Monkey Editor のバージョン】11.0.3
    【お使いのブラウザ】Chrome
    【当該サイトのURL】https://www.8-octo.com/

    ### 実現したいこと

    テンプレート編集で作成したページにナビゲーションを設置したい。

    ### 発生している問題

    添付のようにテンプレート編集で作成したページに固定ページで表示されているようなホームアイコン・ナビゲーションが反映されない。

    ### 試したこと

    ホームアイコン・ナビゲーションなどの基本設定はカスタマイズで設定したのでテンプレートページでも同様に反映されるかと思いましたがそのような機能を見つけられず。
    方法ありましたらご教示願いたいです。

    tenpu

    0
    Who liked: No user
    #146640
    アバター画像キタジマ タカシ
    参加者
    2624

    「テンプレート編集」というのは、ページの編集画面 → 設定パネル → テンプレートのところから作成したテンプレート、という認識であっていますか?

    その場合、作成されたテンプレートは「ブロックテンプレート」になるのですが、Snow Monkey のヘッダーやフッターはブロックテンプレートに対応した形式ではない(= PHP テンプレート)なので、ブロックテンプレートに表示させることができません。

    Snow Monkey の場合、子テーマの /page-templates の中に PHP テンプレートを作成するか、My Snow Monkey プラグインにコードを追加して PHP テンプレートを追加することができます。

    1
    Who liked:
    #146643
    firm
    参加者
    1

    お世話になっております。
    早速のご回答ありがとうございます。

    「テンプレート編集」というのは、ページの編集画面 → 設定パネル → テンプレートのところから作成したテンプレート、という認識であっていますか?

    ↑はい、編集画面から作成したテンプレートでした。
    こちらにはPHP テンプレート要素は表示できないのですね。

    ご提示いただいたmy snow monkey PHPテンプレート追加の方向で対処を考えており調べていましたが、
    添付内の赤線部分について、“override”といのはどういうものでどう生成するのかがわからず、先に進めないでいます。
    こちら解説いただくことは可能でしょうか?
    知識不足で申し訳ありませんが、よろしくお願いいたします。

    添付

    0
    Who liked: No user
    #146644
    アバター画像キタジマ タカシ
    参加者
    2624

    マイアカウントページからダウンロードできる、My Snow Monkey というプラグインがあります。何も機能がない空のプラグインなので、My Snow Monkey に直接コードを書いて Snow Monkey をカスタマイズするという使い方をします。

    この My Snow Monkey をお使いのサイトにインストールし、wp-content/plugins/my-snow-monkey/ の中に、override というフォルダを手動で作成する、という意味になります。

    0
    Who liked: No user
    #146645
    firm
    参加者
    1

    ご確認ありがとうございます。

    overrideフォルダを作成し、
    カスタムページテンプレート用の PHP ファイルを作成するところまでできました。

    ここで冒頭の話に戻るのですが、実現したいこととしては
    PHPテンプレートで構成されているナビゲーションやフッター情報など、
    ページの共通部分となる要素をオリジナルのページにも表示したいということなのですが、
    そういった場合どういう処理をするのでしょうか・・・
    3-1. レイアウト(大枠)用のファイルを作成する
    3-2. ビュー(コンテンツ部分)用のファイルを作成する
    を読んでみましたが、自分が作りたいページのケースは、
    どこをどのように処理するべきかが見えず、今回で学ばせて頂けたらと思います。
    もしくは、初心者でも構成できるような詳細な解説ページはありますでしょうか?

    イメージとしては添付のような見た目・機能にしたいと思っております。

    構成中のURLも添付します。→ https://www.8-octo.com/

    長々と申し訳ありませんが、どうぞよろしくお願いいたします。

    添付

    0
    Who liked: No user
    #146647
    アバター画像キタジマ タカシ
    参加者
    2624

    一度確認したほうが良いかなと思うのですが、そもそもオリジナルのテンプレートをつくりたいのはなぜでしょうか?

    既存のカスタムページテンプレートで適当なものがあるのであれば、つくるのではなく、それを使うのが一番簡単です。スクショの感じであれば「ランディングページ(ヘッダー・フッターあり)」が使えそうな気がします。
    (ただ、その場合、このコンテンツのレイアウト(左側にアイキャッチ、右側に日付・カテゴリー名)というのを投稿のたびに組まないといけないです…)

    もし既存のカスタムページテンプレートに適当なものがない(例えば、全くページ自体のレイアウトが違うページをつくりたい等)のであれば、My Snow Monkey や子テーマを使ってオリジナルのテンプレートをつくる必要があります。

    0
    Who liked: No user
    #146648
    アバター画像キタジマ タカシ
    参加者
    2624

    スクショから想像すると、「左側にアイキャッチ画像、右側に投稿日とカテゴリー名、本文が表示されるようにしたいけど、そのレイアウトを毎回エディターで作成するのは大変なので、テンプレートを作りたい」といういうことかなと思うのですが、認識あっていますかね?

    その場合、考えられる方法としては、

    – 前述のようにオリジナルのテンプレートを追加する(この場合、投稿のたびにテンプレートの選択が必要)
    – 既存のテンプレートを希望のレイアウトになるようにカスタマイズする

    があるかなと思います。

    ———-

    ## 前述のようにオリジナルのテンプレートを追加する(この場合、投稿のたびにテンプレートの選択が必要)

    ### ファイル構成

    - my-snow-monkey
      - override
        - page-templates
          - my-one-column.php
        - templates
          - view
            - my-content.php

    ### my-snow-monkey/override/page-templates/my-one-column.php

    <?php
    /**
     * Template Name: My One Column
     * Template Post Type: post
     */
    
    use Framework\Controller\Controller;
    
    Controller::layout( 'one-column' ); // 既存のレイアウトテンプレートを使用
    Controller::render( 'my-content', get_post_type() ); // オリジナルのビューテンプレートを使用

    ### my-snow-monkey/override/templates/view/my-content.php

    <article <?php post_class(); ?>>
    	<div class="xxx">
    		<div class="xxx">
    			<?php the_post_thumbnail(); ?>
    		</div>
    
    		<div class="xxx">
    			<div class="xxx">
    				<?php the_date(); ?> | <?php the_category(); ?>
    			</div>
    
    			<div class="xxx">
    				<?php the_content(); ?>
    			</div>
    		</div>
    	</div>
    </article>

    PHP テンプレートなので、自分で HTML と CSS を組んでレイアウトする必要があります。ざっくりですが、こんな感じになると思います。

    ———-

    ## 既存のテンプレートを希望のレイアウトになるようにカスタマイズする

    これはちょっとまた後で書きます。

    1
    Who liked:
    #146660
    アバター画像キタジマ タカシ
    参加者
    2624

    ## 既存のテンプレートを希望のレイアウトになるようにカスタマイズする

    snow-monkey/template-parts/content/entry/entry.php の出力をカスタマイズする例です。記事の本文部分のみカスタマイズしたい場合は、snow-monkey/template-parts/content/entry/content/content.php を対象に変更してください。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/content/entry/entry',
    	function ( $html, $name ) {
    		// 投稿タイプが「投稿」のときのみ。
    		if ( 'post' === $name ) {
    			ob_start();
    			?>
    <article <?php post_class(); ?>>
    	<div class="xxx">
    		<div class="xxx">
    			<?php the_post_thumbnail(); ?>
    		</div>
    
    		<div class="xxx">
    			<div class="xxx">
    				<?php the_date(); ?> | <?php the_category(); ?>
    			</div>
    
    			<div class="xxx">
    				<?php the_content(); ?>
    			</div>
    		</div>
    	</div>
    </article>
    			<?php
    			return ob_get_clean();
    		}
    		return $html;
    	},
    	10,
    	2
    );
    1
    Who liked:
    #146663
    firm
    参加者
    1

    ご丁寧に、解説いただきありがとうございます。

    一度確認したほうが良いかなと思うのですが、そもそもオリジナルのテンプレートをつくりたいのはなぜでしょうか?

    まずこちらについては、固定ページにある「tableware」「character 」「interior」のタイトルを、デフォルトの級数からサイズアップし、位置指定するカスタムCSSを付与している関係(添付①)で、それに伴い同じ要素名である投稿記事タイトルにまで同様のCSSが反映されてしまい添付②のような見た目になってしまったところから始まります。
    (現在はカスタムテンプレート編集から仮で作成してますので見た目は添付とは異なります)

    ・文字被りに関してはヘッダーにアイキャッチ画等を設定していないせい?
    →無理やり白いアイキャッチ画像を設定するのは方法として正しいと思えず

    ・記事タイトルが大きくなってしまうのを解除したい
    →他固定ページタイトルに付与しているカスタムCSSを、この投稿ページのみ打ち消すことは可能なのか?

    といったところで解消できず、今に至ります。

    WEB知識初心者ゆえに、本来であればカスタムテンプレートやmy snow monkey を使用することなく既存の機能で添付③のような見た目を実装できればいいのですが、解決方法を探りながらですので、だんだん複雑化してきて・・といった流れです。

     

    こちらで解消法があればそれに尽きたことはないのですが・・いかがでしょうか?
    解消できない場合、my snow monkeyの方を使用してご解説いただいたコードで頑張ってみようと思います。
    長々となってしまい、お手数おかけします。

     

    作成中URL→https://www.8-octo.com/

    添付①添付②添付③

    0
    Who liked: No user
    #146664
    アバター画像キタジマ タカシ
    参加者
    2624

    WordPress は各投稿タイプごと、各記事ごとに class がついているので、CSS でカスタマイズできる範囲なら CSS で済ませちゃうのが簡単です。

    例えば、すべての固定ページには .page、各固定ページには .page-id-8383 のところは各ページの ID)、すべての投稿には .single-post、各投稿には .postid-369369 のところは各ページの ID)のような感じです。

    なので、ページ ID が 100 の固定ページのページヘッダータイトルだけ大きくしたいなら、

    .page-id-83 .c-page-header__title {
      font-size: xxx;
    }

    のようにすれば良いです。

    0
    Who liked: No user
    #146674
    firm
    参加者
    1

    ご回答ありがとうございます。

    各ページIDにスタイルを当てましたら希望の見た目を実装できました。
    大変勉強になりました。
    難しい方向に考えてしまっていたようで解消できてよかったです。

    もし既存のカスタムページテンプレートに適当なものがない(例えば、全くページ自体のレイアウトが違うページをつくりたい等)のであれば、My Snow Monkey や子テーマを使ってオリジナルのテンプレートをつくる必要があります。

    ↑今後、my snow monkeyにて完全にページをカスタムしたい場合が出てくると思うので、
    こちらもコードの構成を読み解き活用させていただきたいと思います。

    長々とお時間頂戴しありがとうございました。
    以上でトピック閉じさせていただきます。

    1
    Who liked:
11件の投稿を表示中 - 1 - 11件目 (全11件中)
  • トピック「テンプレート編集で作成したページにナビゲーションを設置したい。」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。