サイドバーありレイアウトのときに、2つのカラムの上に1カラムのコンテンツを入れる方法について

0
いいねをした人: 居ません
  • このトピックには9件の返信、3人の参加者があり、最後にゆうとにより2年、 6ヶ月前に更新されました。
10件の投稿を表示中 - 1 - 10件目 (全10件中)
  • 投稿者
    投稿
  • #88225
    ゆうと
    参加者
    14

    【お使いの Snow Monkey のバージョン】バージョン: 15.8.1
    【お使いの Snow Monkey Blocks のバージョン】バージョン 12.4.1
    【お使いの Snow Monkey Editor のバージョン】バージョン 6.1.0
    【お使いのブラウザ】chrome
    【当該サイトのURL】

    ### 実現したいこと

    サイドバーありレイアウトのときに、2つのカラムの上に1カラムのコンテンツを入れる方法について

    ### 発生している問題

    こちらの記事拝見しました。固定ページでの場合を想定されておりますがフロントページに設定してあるページはどうすれば良いでしょうか?パーマリンクの部分がhttp://yokusumu.local/のようにサイトurlとして表示されます。

    ### 試したこと

     

    よろしくお願い致します。

    0
    いいねをした人: 居ません
    #88236
    Olein_jp
    参加者
    545

    こちらに添付されている記事は「固定ページのコンテンツを snow_monkey_before_contents_inner 経由で差し込む」というものになります。

    固定ページでの場合を想定されておりますがフロントページに設定してあるページはどうすれば良いでしょうか?パーマリンクの部分がhttp://yokusumu.local/のようにサイトurlとして表示されます。

    既にフロントページとして利用してみえる固定ページのコンテンツを、どこかのページなり条件下で表示したいというご相談になりますでしょうか?

    今一度、ご確認をお願いできればと思います。

    0
    いいねをした人: 居ません
    #88253
    ゆうと
    参加者
    14

    分かりにくい質問で申し訳ございません。

    元々固定ページとして作成したものを外観→カスタマイズ→ホームページ設定でホームページとして登録したものになります。

    固定ページ一覧を見るとページ名の横に「フロントページ」として表示されております。このページのテンプレートは「右サイドバー」を使用しておりますのがヘッダーのみ全幅表示させたいと思っております。

    よろしくお願い致します。

    0
    いいねをした人: 居ません
    #88254
    Olein_jp
    参加者
    545

    なるほど!

    では、そのフロントページの上部に、何かしら別途固定ページに設定してあるコンテンツを表示させたい、ということでしょうかね。

    であれば、以下のようなソースコードで実現できそうな気がしますがいかがでしょうか?(僕の方で試せていませんごめんなさい…

    add_action(
    	'snow_monkey_before_contents_inner',
    	function() {
    		$new_query = new \WP_Query(
    			[
    				'pagename'       => 'front-page-slider',
    				'post_type'      => 'page',
    				'post_status'    => [ 'publish', 'draft' ],
    				'posts_per_page' => 1,
    			]
    		);
    
    		if ( ! $new_query->have_posts() && ! is_front-page() ) { /* ←ここにフロントページでなければ…を追加しています */
    			return;
    		}
    
    		$new_query->the_post();
    		?>
    		<div class="p-entry-content" id="front-page-top-content">
    			<?php the_content(); ?>
    		</div>
    		<?php
    		wp_reset_postdata();
    	}
    );
    0
    いいねをした人: 居ません
    #88262
    ゆうと
    参加者
    14

    <p style=”text-align: left;”>オレインさん</p>
    お返事ありがとうございます!!

    現在会社ホームページを作っています。

    右にウィジェットを入れたのですが、ブログのようになってしまったのでヘッダーだけ全幅にしたいと思っておりました。先程のコードで実装できそうでしょうか?

    よろしくお願い致します。

    0
    いいねをした人: 居ません
    #88265
    GONSY
    参加者
    805

    横から失礼します。

    右にウィジェットを入れたのですが、ブログのようになってしまったのでヘッダーだけ全幅にしたいと思っておりました。先程のコードで実装できそうでしょうか?

    実装しようとしているのは、自社のウェブサイトですか?
    オレインさんが提示したコードを実装・検証したうえで、不具合などがあれば、その内容を書き込むのがベターだと思いました。
    ローカル環境であれば、まずは試してみましょー!

    1
    いいねをした人:
    #88266
    Olein_jp
    参加者
    545

    なかなかテキストだけで説明をするのって大変ですよね…慣れていても僕もうまくいかない時があります…。

    さて、ちょっと話がいろんな方向へ進んでしまっているので、一度まとめた方が良いかもしれませんね。

    入山さんのお言葉で構いませんので、

    • 現在、どうなっているのか
    • 最終的に、なにをどうしたいのか

    を、手書きの図を写メで撮影されて添付いただくことも可能ですので、お伝えいただけるとハズレたアドバイスを差し上げることなくお伝えできるかもしれません。

    @GONSY さん、サポートありがとうございます。

    今一度、ご確認いただけますと幸いですー!

    1
    いいねをした人:
    #88283
    ゆうと
    参加者
    14

    GONSYさん、オレインさん、ご丁寧にありがとうございます。

    また説明がわかりにくく申し訳ありません…

    ○現状

    こちらがトップページです。テンプレートを右サイドバーにしている為、ヘッダーも小さくなってしまっています。

    構成はトップページ1ページ、投稿ページ1ページ、固定ページ3ページあるのですが、投稿ページ以外のページのヘッダーはウィジェットよりも上にくるようにしたいです。このようにしたいです↓

    オレインさんから教えて頂いたコードで

    ‘pagename’ => ‘front-page-slider’,

    がありましたが、urlスラッグを指定する必要があるかと思います。しかしフロントページに指定されている為、urlスラッグが固定されております。

    この場合どうすれば良いかお伺いしたいと思っております。

    何卒よろしくお願い致します。

    0
    いいねをした人: 居ません
    #88290
    Olein_jp
    参加者
    545

    詳しく教えていただきましてありがとうございます。

    構成はトップページ1ページ、投稿ページ1ページ、固定ページ3ページあるのですが、投稿ページ以外のページのヘッダーはウィジェットよりも上にくるようにしたいです。

    とのことですので、条件分岐としては is_front_page() || is_page() の時にコンテンツエリア(左サイド:コンテンツ/右サイド:サイドバー)の上にコンテンツヘッダーを置きたいという感じとお見受けしました。

    また、表示したいコンテンツも固定ページで作られているように(編集画面を拝見して)お見受けしましたが、もし自分がやるとしたら「再利用ブロック」を活用するかもしれません。

    流れとしては以下のような手順になるかと思います。

    1. 再利用ブロックとして挿入したいコンテンツを作る
    2. 再利用ブロックの post_id 番号を確認
    3. フックを利用して再利用ブロックを任意の場所に出力

    再利用ブロックを管理したり post_id 番号を確認される場合、手前味噌ですが僕が作ったプラグインを使われてもスムーズに確認いただけるかもしれません。

    使い方はこちらをどうぞ。ショートコード内に表示されている数字が post_id になります。

    そして、実際に挿入するソースコードですが、こんな感じで良いかと思います。

    フック先は snow_monkey_before_contents_inner とし、 post_id1234 とした場合、

    add_action(
    	'snow_monkey_before_contents_inner',
    	function() {
    		if ( is_front_page() || is_page() ) {
    			echo apply_filters( 'the_content', get_post( 1234 )->post_content );
    		}
    	}
    );

    こんなコードで出力できるかと思います。もし、複数の再利用ブロックを用意されて、別の任意の固定ページなどに振り分けたい場合には、条件分岐を変えたり増やしたりすることで対応可能かと思います。

    長くなりましたがご確認ください。

    3
    いいねをした人:
    #88310
    ゆうと
    参加者
    14

    オレインさん

    できました!ありがとうございます!!

    ずっと考えておりましたのでわかって嬉しいです。

    大変助かりました。ありがとうございます^_^

    0
    いいねをした人: 居ません
10件の投稿を表示中 - 1 - 10件目 (全10件中)
  • トピック「サイドバーありレイアウトのときに、2つのカラムの上に1カラムのコンテンツを入れる方法について」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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