-
投稿者投稿
-
2024年9月19日 5:16 PM #141760
【お使いの Snow Monkey のバージョン】25.4.7
【お使いの Snow Monkey Blocks のバージョン】
【お使いの Snow Monkey Editor のバージョン】
【お使いのブラウザ】Google Chrome
【当該サイトのURL】### 実現したいこと
大変お世話になっております。
ドロワーナビゲーション(モバイル用)内を自由に編集する方法はありませんでしょうか?
パターンを入れる、などの方法で、ブロックエディタで自由に作成したものが入れられたら幸いです。
お忙しいところ恐れ入りますがよろしくお願い申し上げます。
♥ 0いいねをした人: 居ません2024年9月20日 11:07 AM #141770スマートな方法はちょっと思いつかないのですが、簡単にやる方法であれば下記が一番簡単かなと思います。
### フックでドロワーの中に HTML を追加する
add_action( 'snow_monkey_prepend_drawer_nav', function() { ?> <p>自由な HTML</p> <?php } );
※特定の記事のパターン・ブロックを表示するようにもできはしますが、複雑化するので、とりあえずエディター上でコンテンツをつくって、それをコピーして、上記のフック内に貼り付けるのが一番簡単だと思います。
### CSS でメニューを非表示にする
.c-drawer__menu { display: none; }
2024年9月20日 12:30 PM #141772お忙しいところ、早速ご返信をいただきましてありがとうございます!
ブロックエディターでの更新を反映させたいため、以下のように固定ページをショートコードにして、教えていただいたコードと合わせることも可能でしょうか?
function page_content_include($atts) { extract(shortcode_atts(array( 'slug' => 'default' ), $atts, 'page_scode')); ob_start(); $page_info = get_page_by_path( $slug ); $page = get_post($page_info); ob_end_clean(); return do_shortcode( $page->post_content ); } add_shortcode('page_scode', 'page_content_include'); add_action( 'snow_monkey_prepend_drawer_nav', function() { ?> [page_scode slug='表示させたいスラッグ名'] <?php }
♥ 0いいねをした人: 居ません2024年9月21日 11:03 AM #141806できると思います。多分、
[page_scode slug='表示させたいスラッグ名']
は
echo apply_filters( 'the_content', '[page_scode slug="表示させたいスラッグ名"]' );
あるいは
echo do_shortcode( '[page_scode slug="表示させたいスラッグ名"]' );
のようにしないとだめかなと思いますがどうでしょうか?
♥ 0いいねをした人: 居ません2024年9月24日 8:26 AM #141833大変お世話になります。
ご返信ありがとうございます。
ショートコードの方法は、コードがそのまま掲載されてしまい出来ませんでしたが、以下の方法で叶いました!
セキュリティなど特に問題はないでしょうか?function page_content_e( $page_path, $post_type = 'page' ) { $page = get_page_by_path( $page_path, OBJECT, $post_type ); if ( $page && $page->post_status == 'publish' ) { echo apply_filters( 'the_content', $page->post_content ); } } add_action( 'snow_monkey_prepend_drawer_nav', function() { ?> <?=page_content_e( 'navigation' )?> <?php }
♥ 0いいねをした人: 居ません2024年9月24日 9:59 AM #1418352024年9月25日 2:12 PM #141878お世話になります。
お忙しいところご返信いただきましてありがとうございます。
以下のようにしてみましたが、この場合エラーになり保存できませんでした。'slug' => 'default'
がエラーのようでした。syntax error, unexpected single-quoted string "slug", expecting ")"
// 固定ページのスラッグ名をショートコードにする[page_scode slug="aaa"] function page_content_include($atts) { extract(shortcode_atts(array( 'slug' => 'default' ), $atts, 'page_scode')); ob_start(); $page_info = get_page_by_path( $slug ); $page = get_post($page_info); ob_end_clean(); return do_shortcode( $page->post_content ); } add_shortcode('page_scode', 'page_content_include'); // ドロワーに個別ページを入れる add_action( 'snow_monkey_prepend_drawer_nav', function() { echo apply_filters( 'the_content', '[page_scode slug="aaa"]' ); }
以下のコードで表示されました。
function page_content_e( $page_path, $post_type = ‘page’ ) { $page = get_page_by_path( $page_path, OBJECT, $post_type ); if ( $page && $page->post_status == ‘publish’ ) { echo apply_filters( ‘the_content’, $page->post_content ); } } add_action( ‘snow_monkey_prepend_drawer_nav’, function() { ?> <?=page_content_e( ‘navigation’ )?> <?php }
♥ 0いいねをした人: 居ません2024年9月27日 5:42 PM #141909以下で、ショートコードでもできるようになりました!
// 個別ページをショートコードに
function display_page_content_by_id($atts) {
$atts = shortcode_atts(
array(
‘id’ => ”,
),
$atts,
‘page_content’
);
if (empty($atts[‘id’])) {
return ”;
}
$page = get_post($atts[‘id’]);if (!$page || $page->post_status != ‘publish’) {
return ”;
}return apply_filters(‘the_content’, $page->post_content);
}
add_shortcode(‘page_content’, ‘display_page_content_by_id’);// ドロワーに個別ページを入れる
add_action( ‘snow_monkey_prepend_drawer_nav’, function() {
echo apply_filters( ‘the_content’, ‘[page_content id=”ページのID”]’ );
}
);ありがとうございました。トピックを閉じます。
♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「ドロワーナビゲーション(モバイル用)内を自由に編集する方法」には新しい返信をつけることはできません。