-
投稿者投稿
-
2021年9月30日 10:11 AM #88225
【お使いの 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いいねをした人: 居ません2021年9月30日 1:52 PM #88236こちらに添付されている記事は「固定ページのコンテンツを
snow_monkey_before_contents_inner
経由で差し込む」というものになります。固定ページでの場合を想定されておりますがフロントページに設定してあるページはどうすれば良いでしょうか?パーマリンクの部分がhttp://yokusumu.local/のようにサイトurlとして表示されます。
既にフロントページとして利用してみえる固定ページのコンテンツを、どこかのページなり条件下で表示したいというご相談になりますでしょうか?
今一度、ご確認をお願いできればと思います。
♥ 0いいねをした人: 居ません2021年9月30日 3:21 PM #88253分かりにくい質問で申し訳ございません。
元々固定ページとして作成したものを外観→カスタマイズ→ホームページ設定でホームページとして登録したものになります。
固定ページ一覧を見るとページ名の横に「フロントページ」として表示されております。このページのテンプレートは「右サイドバー」を使用しておりますのがヘッダーのみ全幅表示させたいと思っております。
よろしくお願い致します。
♥ 0いいねをした人: 居ません2021年9月30日 4:05 PM #88254なるほど!
では、そのフロントページの上部に、何かしら別途固定ページに設定してあるコンテンツを表示させたい、ということでしょうかね。
であれば、以下のようなソースコードで実現できそうな気がしますがいかがでしょうか?(僕の方で試せていませんごめんなさい…
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いいねをした人: 居ません2021年9月30日 5:15 PM #88262<p style=”text-align: left;”>オレインさん</p>
お返事ありがとうございます!!現在会社ホームページを作っています。
右にウィジェットを入れたのですが、ブログのようになってしまったのでヘッダーだけ全幅にしたいと思っておりました。先程のコードで実装できそうでしょうか?
よろしくお願い致します。
♥ 0いいねをした人: 居ません2021年9月30日 7:18 PM #882652021年9月30日 7:39 PM #882662021年10月1日 6:19 AM #88283GONSYさん、オレインさん、ご丁寧にありがとうございます。
また説明がわかりにくく申し訳ありません…
○現状
こちらがトップページです。テンプレートを右サイドバーにしている為、ヘッダーも小さくなってしまっています。
構成はトップページ1ページ、投稿ページ1ページ、固定ページ3ページあるのですが、投稿ページ以外のページのヘッダーはウィジェットよりも上にくるようにしたいです。このようにしたいです↓
オレインさんから教えて頂いたコードで
‘pagename’ => ‘front-page-slider’,
がありましたが、urlスラッグを指定する必要があるかと思います。しかしフロントページに指定されている為、urlスラッグが固定されております。
この場合どうすれば良いかお伺いしたいと思っております。
何卒よろしくお願い致します。
♥ 0いいねをした人: 居ません2021年10月1日 9:39 AM #88290詳しく教えていただきましてありがとうございます。
構成はトップページ1ページ、投稿ページ1ページ、固定ページ3ページあるのですが、投稿ページ以外のページのヘッダーはウィジェットよりも上にくるようにしたいです。
とのことですので、条件分岐としては
is_front_page() || is_page()
の時にコンテンツエリア(左サイド:コンテンツ/右サイド:サイドバー)の上にコンテンツヘッダーを置きたいという感じとお見受けしました。また、表示したいコンテンツも固定ページで作られているように(編集画面を拝見して)お見受けしましたが、もし自分がやるとしたら「再利用ブロック」を活用するかもしれません。
流れとしては以下のような手順になるかと思います。
- 再利用ブロックとして挿入したいコンテンツを作る
- 再利用ブロックの
post_id
番号を確認 - フックを利用して再利用ブロックを任意の場所に出力
再利用ブロックを管理したり
post_id
番号を確認される場合、手前味噌ですが僕が作ったプラグインを使われてもスムーズに確認いただけるかもしれません。使い方はこちらをどうぞ。ショートコード内に表示されている数字が
post_id
になります。そして、実際に挿入するソースコードですが、こんな感じで良いかと思います。
フック先は
snow_monkey_before_contents_inner
とし、post_id
は1234
とした場合、add_action( 'snow_monkey_before_contents_inner', function() { if ( is_front_page() || is_page() ) { echo apply_filters( 'the_content', get_post( 1234 )->post_content ); } } );
こんなコードで出力できるかと思います。もし、複数の再利用ブロックを用意されて、別の任意の固定ページなどに振り分けたい場合には、条件分岐を変えたり増やしたりすることで対応可能かと思います。
長くなりましたがご確認ください。
2021年10月1日 1:06 PM #88310オレインさん
できました!ありがとうございます!!
ずっと考えておりましたのでわかって嬉しいです。
大変助かりました。ありがとうございます^_^
♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「サイドバーありレイアウトのときに、2つのカラムの上に1カラムのコンテンツを入れる方法について」には新しい返信をつけることはできません。