ドロワーナビゲーション(モバイル用)内を自由に編集する方法

0
いいねをした人: 居ません
  • このトピックには7件の返信、2人の参加者があり、最後にreadにより1ヶ月、 3週前に更新されました。
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #141760
    read
    参加者
    16

    【お使いの Snow Monkey のバージョン】25.4.7
    【お使いの Snow Monkey Blocks のバージョン】
    【お使いの Snow Monkey Editor のバージョン】
    【お使いのブラウザ】Google Chrome
    【当該サイトのURL】

    ### 実現したいこと

    大変お世話になっております。

    ドロワーナビゲーション(モバイル用)内を自由に編集する方法はありませんでしょうか?

    パターンを入れる、などの方法で、ブロックエディタで自由に作成したものが入れられたら幸いです。

    お忙しいところ恐れ入りますがよろしくお願い申し上げます。

    0
    いいねをした人: 居ません
    #141770
    アバター画像キタジマ タカシ
    参加者
    2421

    スマートな方法はちょっと思いつかないのですが、簡単にやる方法であれば下記が一番簡単かなと思います。

    ### フックでドロワーの中に HTML を追加する

    add_action(
    	'snow_monkey_prepend_drawer_nav',
    	function() {
    		?>
    		<p>自由な HTML</p>
    		<?php
    	}
    );

    ※特定の記事のパターン・ブロックを表示するようにもできはしますが、複雑化するので、とりあえずエディター上でコンテンツをつくって、それをコピーして、上記のフック内に貼り付けるのが一番簡単だと思います。

    ### CSS でメニューを非表示にする

    .c-drawer__menu {
      display: none;
    }
    1
    いいねをした人:
    #141772
    read
    参加者
    16

    お忙しいところ、早速ご返信をいただきましてありがとうございます!

    ブロックエディターでの更新を反映させたいため、以下のように固定ページをショートコードにして、教えていただいたコードと合わせることも可能でしょうか?

    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
    いいねをした人: 居ません
    #141806
    アバター画像キタジマ タカシ
    参加者
    2421

    できると思います。多分、

    [page_scode slug='表示させたいスラッグ名']
    

    echo apply_filters( 'the_content', '[page_scode slug="表示させたいスラッグ名"]' );
    

    あるいは

    echo do_shortcode( '[page_scode slug="表示させたいスラッグ名"]' );
    

    のようにしないとだめかなと思いますがどうでしょうか?

    0
    いいねをした人: 居ません
    #141833
    read
    参加者
    16

    大変お世話になります。

    ご返信ありがとうございます。

    ショートコードの方法は、コードがそのまま掲載されてしまい出来ませんでしたが、以下の方法で叶いました!
    セキュリティなど特に問題はないでしょうか?

    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
    いいねをした人: 居ません
    #141835
    アバター画像キタジマ タカシ
    参加者
    2421

    あ、PHP は <?php?> で囲まれた部分でのみ実行されるので、こういう感じにしないとです。下記で試してみてください!

    add_action( 'snow_monkey_prepend_drawer_nav', function() {
    	echo apply_filters( 'the_content', '[page_scode slug="表示させたいスラッグ名"]' );
    }
    2
    いいねをした人:
    #141878
    read
    参加者
    16

    お世話になります。

    お忙しいところご返信いただきましてありがとうございます。
    以下のようにしてみましたが、この場合エラーになり保存できませんでした。

    '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
    いいねをした人: 居ません
    #141909
    read
    参加者
    16

    以下で、ショートコードでもできるようになりました!

    // 個別ページをショートコードに
    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
    いいねをした人: 居ません
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • トピック「ドロワーナビゲーション(モバイル用)内を自由に編集する方法」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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