「snow_monkey_before_contents_inner」の検索結果

15件の結果を表示中 - 1 - 15件目 (全17件中)
  • 投稿者
    検索結果
  • #93271
    キタジマ タカシ
    参加者
    1318

    どこにも丸いバナーは表示されませんでした

    どこにも表示されないということは、そもそも .sticky な要素の追加自体がされていない可能性はないですかね?

    add_action(
    	'snow_monkey_before_contents_inner',
    	function() {
    		?>
    		<div class="sticky">
    			<span class="web_rsv">
    				<a href="https://sample01.glasscoope.com/syokaitaiken/"><p class="font-size-large font-weight-bold">初回体験</p><p class="font-size-small">予約は<br>こちらから!</p></a>
    			</span>
    		</div>
    		<?php
    	}
    );

    を My Snow Monkey プラグインに追加すると、表示場所は置いておいて、「予約はこちらから!」という文字がページ上に追加されるはずです。まずそれは追加されていますか? ページ上を眺めても確認できない場合はブラウザから HTML ソースを開いてページ内検索をして存在を確認してみてください。

    もし目視でも HTML ソースにも存在しないということであれば追加に失敗しています。その場合は My Snow Monkey プラグインが有効化されていないというのが一番可能性が高いと思います。

    0
    いいねをした人: 居ません
    Mobby
    参加者
    19

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

    アクションフックのsnow_monkey_before_contents_innerで組み込んでみます

    1
    いいねをした人:
    Olein_jp
    参加者
    313

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

    構成はトップページ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 );
    		}
    	}
    );

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

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

    2
    いいねをした人:
    Olein_jp
    参加者
    313

    なるほど!

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

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

    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
    いいねをした人: 居ません
    Olein_jp
    参加者
    313

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

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

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

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

    0
    いいねをした人: 居ません
    藤原
    参加者
    4

    snow_monkey_before_contents_inner を使うことで
    『https://snow-monkey.2inc.org/2020/04/28/inject-content-to-above-the-columns-that-has-sidebar/』のように

    if ( ! is_page('shop_top-page') ) {
    'pagename'       => 'shop-page_insert-page',

    という感じで実現できました。

    ただこの場合、動作自体は希望のものなのですが、
    ・固定ページ(shop_top-page)をショップページとして割り当てる
    ・別に差し込み用の固定ページ(shop-page_insert-page)を用意する
    ・snow_monkey_before_contents_innerに差し込み用ページを割り当てる
    となるため少しややこしくなります。

    もし固定ページ(shop_top-page)のコンテンツを表示させる方法をご存じの方、またはもっと良い方法がある場合にはご教示ください

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

    上記記事の掲載コードをそのまま使われて現在表示されているという前提でご紹介すると、以下のようにすることでトップページ(ホームページ設定でホームページに固定ページを設定した上でのトップページと解釈)にだけ表示させることができます。

    add_action(
    	'snow_monkey_before_contents_inner',
    	function() {
    		if ( is_front_page() ) {
    		$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() ) {
    			return;
    		}
    
    		$new_query->the_post();
    		?>
    		<div class="p-entry-content" id="front-page-top-content">
    			<?php the_content(); ?>
    		</div>
    		<?php
    		wp_reset_postdata();
    		}
    	}
    );
    1
    いいねをした人:
    #78699
    GONSY
    参加者
    464
    add_action(
    	'snow_monkey_before_contents_inner',
    	function() {
    		if ( is_front_page() ) { //トップページのみ
    		?>
    		<div class="sticky">
    			<span class="web_rsv">
    				<a href="https://sample01.glasscoope.com/syokaitaiken/"><p class="font-size-large font-weight-bold">初回体験</p><p class="font-size-small">予約は<br>こちらから!</p></a>
    			</span>
    		</div>
    		<?php
    		}
    	}
    );

    こうでしょうか?

    2
    いいねをした人:
    tomohanano
    参加者

    【お使いの Snow Monkey のバージョン】バージョン: 14.3.5
    【お使いの Snow Monkey Blocks のバージョン】バージョン 11.4.1
    【お使いの Snow Monkey Editor のバージョン】バージョン 5.0.6
    【お使いのブラウザ】Chorme
    【当該サイトのURL】https://sample01.glasscoope.com/

    ### 実現したいこと
    トップページだけに「初回体験申し込みフォーム」への追従リンクボタンを表示させたい
    ### 発生している問題
    全ページに表示されてしまう
    ### 試したこと
    My Snow Monkey にはこう書きました。

    
    	add_action(
    		'snow_monkey_before_contents_inner',
    		function() {
    			?>
    				<div class="sticky">
    					<span class="web_rsv">
    						<a href="https://sample01.glasscoope.com/syokaitaiken/"><p class="font-size-large font-weight-bold">初回体験</p><p class="font-size-small">予約は<br>こちらから!</p></a>
    					</span>
    				</div>
    			<?php
    		}
    	);
    

    トップページだけを指定する場合、どのように指定すべきでしょうか?

    #63288
    キタジマ タカシ
    参加者
    1318

    例えば

    のページにあるコードの場合だと、

    add_action(
    	'snow_monkey_before_contents_inner',
    	function() {
    		// ページスラッグが about の固定ページのときは何も処理しない
    		if ( is_page( 'about' ) ) {
    			return;
    		}
    		
    		// これ以降はもとのコードのまま
    		// ...
    	}
    );

    という感じになります。

    0
    いいねをした人: 居ません
    キタジマ タカシ
    参加者
    1318

    んーなるほど、なぜでしょうね…。これ、My Snow Monkey に追加したコード

    add_action(
    	'snow_monkey_before_contents_inner',
    	function() {
    		〜
    	}
    );

    を消すと、上の画像も下の画像も両方とも消えるってことですよね?
    もし上の画像だけが消えるということであれば、下の画像が表示されるのは別のなにかの影響ということになるので、別に調査する必要がでてきます。

    で、その前に一点お聞きしたいのですが、2つのカラムの上に入れたい1カラムのコンテンツというのは、具体的にどのようなものでしょうか? 固定の画像を1枚だけ、スライダー、文章も含んだコンテンツ等々…。

    0
    いいねをした人: 居ません
    #34541
    キタジマ タカシ
    参加者
    1318

    PC表示時に、各固定ページの本文とサイドバーの上の位置(アイキャッチでいうと、ページヘッダーの位置)に全幅表示したいんですが、上記カスタマイズにプラスで何が必要になりますか?

    あー勝手にワンカラムだと思っていました。サイドバーありだと普通にエディターだけでは無理ですね…。ウィジェットでやりたいのであれば、独自にウィジェットエリアを追加する必要があるかと思います。

    CSS で調整が必要かと思いますが、とりあえずこんな感じでどうでしょうか?

    /**
     * my-page-top-widget-area という名前でウィジェットエリアを定義
     */
    add_action(
    	'widgets_init',
    	function() {
    		register_sidebar(
    			[
    				'name'          => '固定ページ上部ウィジェットエリア',
    				'id'            => 'my-page-top-widget-area',
    				'description'   => '固定ページの上部に表示されるウィジェットエリアです。',
    				'before_widget' => '<div class="my-page-top-widget-area__item"><div id="%1$s" class="c-section %2$s">',
    				'after_widget'  => '</div></div>',
    				'before_title'  => '<h2 class="c-section__title">',
    				'after_title'   => '</h2>',
    			]
    		);
    	}
    );
    
    /**
     * 固定ページの上部に my-page-top-widget-area ウィジェットエリアを表示
     */
    add_action(
    	'snow_monkey_before_contents_inner',
    	function() {
    		if ( ! is_page() ) {
    			return;
    		}
    
    		if ( ! \Framework\Helper::is_active_sidebar( 'my-page-top-widget-area' ) ) {
    			return;
    		}
    		?>
    
    		<div class="my-page-top-widget-area"
    			data-is-slim-widget-area="false"
    			data-is-content-widget-area="true"
    			>
    
    			<?php dynamic_sidebar( 'my-page-top-widget-area' ); ?>
    		</div>
    		<?php
    	}
    );
    0
    いいねをした人: 居ません
    #5873

    返信が含まれるトピック: フロントページのレイアウトについて

    キタジマ タカシ
    参加者
    1318

    ちょっと全貌が見えて無くて外しているかもしれませんが、僕が書いた snow_monkey_before_contents_inner にフックさせるコードと、wp_is_mobile() を使ったコードの2つを書いているということでしょうか?

    もしそうであれば、snow_monkey_before_contents_inner にフックさせるコードが所定の位置にスライダーを表示させる命令になりますので、その中でショートコードを echo している部部分を wp_is_mobile() を使ったコードに置き換えるのが正しい形となります。

    つまり、下記のような感じです。

    add_action( 'snow_monkey_before_contents_inner', function() {
        if ( ! is_front_page() ) {
            return;
        }
    
        if ( wp_is_mobile() ) {
            // mobile用
            echo do_shortcode( '[metaslider id=14254]' );
        } else {
            // PC用
            echo do_shortcode( '[metaslider id=14246]' );
        }
    } );
    0
    いいねをした人: 居ません
    #5868

    返信が含まれるトピック: フロントページのレイアウトについて

    M T
    閲覧者
    8

    実機で確認していますが、今度はfunction.phpに追加すると、エラーコードが出て、画面が真っ白になるようになりました。

    phpの知識があまりないので、何か記述が間違っているのでしょうか。

    それと、最初におしえていただいた下記はidが一つですが、これは関係ないでしょうか。

    add_action( ‘snow_monkey_before_contents_inner’, function() {
    if ( ! is_front_page() ) {
    return;
    }

    echo do_shortcode( ‘[metaslider id=”14205″]’ );
    } );

     

    0
    いいねをした人: 居ません
    #5741

    返信が含まれるトピック: フロントページのレイアウトについて

    キタジマ タカシ
    参加者
    1318

    あ、ちょっと僕の書き方が中途半端でした。ショートコードの部分は、「ショートコードを実行する命令」を付け加えて書く必要がありました。

    add_action( 'snow_monkey_before_contents_inner', function() {
        if ( ! is_front_page() ) {
            return;
        }
    
        echo do_shortcode( '[metaslider id="14205"]' );
    } );

    これで生のショートコードではなくスライダーが表示されるようになると思いますがどうでしょうか?

    0
    いいねをした人: 居ません
15件の結果を表示中 - 1 - 15件目 (全17件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ