「snow_monkey_template_part_render」の検索結果

15件の結果を表示中 - 46 - 60件目 (全268件中)
  • 投稿者
    検索結果
  • #111816

    返信が含まれるトピック: コンテンツの順番を並び替えたい。

    アバター画像徳本 奈穂子
    参加者
    23

    キタジマさん

    add_action は任意のフックポイント(ここでは snow_monkey_prepend_body や snow_monkey_prepend_contents)で処理を実行したり、HTML を追加するものになるので削除はできません。

    基本的には、既存の Snow Monkey の HTML を削除したり書き換えたりする場合は snow_monkey_template_part_render フィルターフックを使ったり、My Snow Monkey や子テーマを使ってテンプレートを上書き(同名のファイルを My Snow Monkey や子テーマに配置したら Snow Monkey のテンプレートではなくそのテンプレートが使用されるという仕組み)で対応することになります。

    理解できた・・・と思います。勉強になりました!(フィルターフックはまだわかっていないので、これから勉強します)

    ありがとうございましたm(_ _)m

    1
    いいねをした人:
    #111809

    返信が含まれるトピック: コンテンツの順番を並び替えたい。

    アバター画像キタジマ タカシ
    参加者
    2260

    と考えているのですが・・・

    add_action は任意のフックポイント(ここでは snow_monkey_prepend_bodysnow_monkey_prepend_contents)で処理を実行したり、HTML を追加するものになるので削除はできません。

    基本的には、既存の Snow Monkey の HTML を削除したり書き換えたりする場合は snow_monkey_template_part_render フィルターフックを使ったり、My Snow Monkey や子テーマを使ってテンプレートを上書き(同名のファイルを My Snow Monkey や子テーマに配置したら Snow Monkey のテンプレートではなくそのテンプレートが使用されるという仕組み)で対応することになります。

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

    返信が含まれるトピック: 投稿ページの編集方法

    アバター画像キタジマ タカシ
    参加者
    2260

    Snow Monkey をコードでカスタマイズする場合、基本的には次の3つのいずれかの方法で対応することになります。

    1. CSS でカスタマイズする
    2. snow_monkey_template_part_render フックで HTML を書き換える
    3. My Snow Monkey や子テーマを使ってカスタマイズしたい部分のテンプレートパーツを上書きする

    おそらく CSS でカスタマイズできる範囲なのかな?と思いますが、GONSY さんが書かれているように具体的な内容がわかるほうが具体的な回答がつきやすいと思うので、詳細を記述いただければと思います!

    0
    いいねをした人: 居ません
    アバター画像hiro8watanabe
    参加者

    【お使いの Snow Monkey のバージョン】17.2.4
    【お使いの Snow Monkey Blocks のバージョン】 16.0.3
    【お使いの Snow Monkey Editor のバージョン】 8.0.1
    【お使いのブラウザ】crhome

    こんにちは。

    ボタンではなくカード全体にリンク範囲を設定したく、filterフックで書き換えを試みていますが、理解が足りずなかなかうまくいきません。

    ### 実現したいこと

    下記ブロック内の各カード全体にリンクを適用したい。

    snow monkey の機能を活かしたまま可能ならそれがベストですが、カード部分のみオリジナルでコーディングしたものを入れれるならそれでも問題ありません。

    ### 発生している問題

    フィルターフックを使用して書き換えを試みましたが、思うような表示にならない。

    ### 試したこと

    テストとして、下記のようにmy-snow-monkey.phpへ記載しましたが表示崩れがおきています。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/content/entry/content/content',
    	function ($html) {
    		if (is_front_page()) {
    			$card_container_before = '
    <div class="wp-block-snow-monkey-blocks-items-item-standard c-row__col">
    	<div class="smb-items__item">
    		<div class="smb-items__item__figure">
    			<img src="" alt="" />
    		</div>
    		<div class="smb-items__item__body">
    			<h3 class="smb-items__item__title"></h3>
    			<div class="smb-items__item__content"></div>
    		</div>
    	</div>
    </div>';
    
    			$card_container_after = '
    <div class="wp-block-snow-monkey-blocks-items-item-standard c-row__col">
    	<a href="">
    		<div class="smb-items__item">
    			<div class="smb-items__item__figure">
    				<img src="" />
    			</div>
    			<div class="smb-items__item__body">
    				<h3 class="smb-items__item__title"></h3>
    				<div class="smb-items__item__content"></div>
    			</div>
    		</div>
    	</a>
    </div>';
    
    			$html = str_replace(
    				$card_container_before,
    				$card_container_after,
    				$html
    			);
    			return $html;
    		}
    	},
    	10,
    	3
    );

    上記のような感じで記述してみましたが、そもそもフィルターフックじゃないほうがいいとかあったりしますか?

    アバター画像みしま
    参加者

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

    ### 実現したいこと
    英語の切り替えボタンを押して英語のページを表示した際に、ロゴ画像も英語で用意したものに切り替えたい。

    ### 発生している問題

    自分なりに参考にしてコードを書きましたが、他に書き方があるのか、問題ないのか等知りたいです。

    ### 試したこと

    本題ではないのですが、まずMy Snow MonkeyにフォーラムやオレインさんのHAPPY SNOW MONKEYの情報をもとに下記のコードを書いて言語切替のボタンを表示させています。

    /* グローバルナビの上部にbogoの言語切替ボタンを挿入 */
    add_filter(
    	'snow_monkey_template_part_render_template-parts/nav/global',
    	function( $html, $name, $vars ) {
    		?>
    		<div class="translation-btn-wrapper">
    			<div class="translation-btn">
    				<?php echo do_shortcode( '[bogo]' ); ?>
    			</div>
    		</div>
    		<?php
    		return ob_get_clean() . $html;
    	},
    	10,
    	3
    );
    
    /* ドロワーメニュー上部にbogoの言語切替ボタンを挿入 */
    add_action(
    	'snow_monkey_prepend_drawer_nav',
    	function() {
    		?>
    		<div class="translation-btn-wrapper">
    			<div class="translation-btn">
    				<?php echo do_shortcode( '[bogo]' ); ?>
    			</div>
    		</div>
    		<?php
    	}
    );

    肝心のロゴ画像の切り替えについては「bogo ロゴ画像 変更」で検索して、他テーマで変更されているケース等ありましたがSnow monkeyの場合にどうすればいいかわからず、フックでできるのか、テンプレートを上書きすべきかなど試行錯誤していましたが、うまくいかず下記のロゴの差し替えを参考に

    My Snow Monkeyに下記を追加して、最終的に英語のページに切り替えた際にはロゴが英語で用意したものに変更できるようにはなりました。

    add_filter(
    	'get_custom_logo',
    	function( $html ) {
    		if(get_locale() == "en_US") {
    			$html = preg_replace(
    				'|<img .+? />|',
    				'<img class="custom-logo" src="'.MY_SNOW_MONKEY_URL.'/aseet/image/logo.png" />',
    				$html
    			);
    		} else {
    		}
    		return $html;
    	}
    );

    ただ、途中MY_SNOW_MONKEY_URLでのパスの指定がなかなかうまくいかず、結果的になんとか動いている状態ですので、書き方等に問題がないか?また、Bogoでロゴの出し分けをされたい方の参考になればと投稿させていただきました。お手数ですがご確認お願いいたします。

    アバター画像山崎 大祐
    参加者
    112

    若干コードに誤りがございました。正しくは以下です。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/content/share-buttons',
    	function( $html ) {
    		$html = str_replace(
    			'html',
    			'html @yamakenkenken より',
    			$html
    		);
    		return $html;
    	}
    );
    1
    いいねをした人:
    アバター画像山崎 大祐
    参加者
    112

    ありがとうございます!

    知識不足でした。
    ポップアップは、PHP⇒JSで出力されフックでは対応できないと、間違った予想をいたしました。

    以下のコードで対応できました。いつもありがとうございます!

    add_filter(
    	'snow_monkey_template_part_render_template-parts/content/share-buttons',
    	function( $html ) {
    		$html = str_replace(
    			'html',
    			'htem @yamakenkenken より',
    			$html
    		);
    		return $html;
    	}
    );
    1
    いいねをした人:
    アバター画像キタジマ タカシ
    参加者
    2260

    ファイルを直接変更してしまうと、やはりアップデートのたびに同じ作業をしないといけないというのがしんどいので、フックでなんとかするのが良いと思います。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/content/share-buttons',
    	function( $html ) {
    		// ここで書き換えて「@yamakenkenken より」を追加する
    		return $html;
    	}
    );
    0
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2260

    snow_monkey_template_part_render_ フックの第2引数($name)に投稿タイプ名が入ってくるのでそれで判定するのはどうでしょうか? 設定によっては意図した投稿タイプ名が入ってこない場合もありますが、とりあえず確認してみてください。

    あと、アーカイブページでは記事タイトル名が h2 ですが、任意のタクソノミーブロックでは h3 になるので preg_replace() を使う形に書き換えるのが良いと思います。下記サンプルコードです。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function ( $html, $name ) {
    		if ( 'news' === $name ) {
    			$html = preg_replace(
    				'|(</h[23]>)|ms',
    				'$1あいうえお',
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	2
    );

    ②カスタム投稿のアーカイブページの横一列の表示数を3つから4つに変更したい。
    できれば任意のタクソノミー投稿の表示数も3つから4つに変更したい。

    1トピック1課題でお願いしているので、お手数おかけして申し訳ありませんが↑の課題については別にトピックを立ててください!

    0
    いいねをした人: 居ません
    アバター画像memime
    参加者

    【お使いの Snow Monkey のバージョン】17.1.0
    【お使いの Snow Monkey Blocks のバージョン】16.0.1
    【お使いの Snow Monkey Editor のバージョン】8.0.1
    【お使いのブラウザ】firefox
    【当該サイトのURL】local

    ### 実現したいこと

    ①任意のタクソノミーで表示されているc-entry-summary__title部分にカスタムフィールドを表示させたい。

    ②カスタム投稿のアーカイブページの横一列の表示数を3つから4つに変更したい。
    できれば任意のタクソノミー投稿の表示数も3つから4つに変更したい。

    ### 発生している問題

    ①カスタム投稿のアーカイブページではカスタムフィールドの出力が行えたが、任意のタクソノミーで表示されているパネル?には同じようにカスタムフィールドを表示させることができない。

    ②どこを弄っていいかわからない。

    ### 試したこと

    /*カスタム投稿 */
    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function ($html) {
    		if (get_post_type('seles_cats')) {
    			// カスタムフィールドで設定したフィールド名を代入
    			$acf_year = get_field('sex');
    			$acf_faculty = get_field('price');
    			$acf_birthday = get_field('birthday');
    
    			// テンプレートのh2タグの後に<div class='employee-info'>を追加
    			$acf_employee_info = "</h2>
    <div class='employee-info'>
    <p>" . esc_attr($acf_year) . "</p>" .
    "<p>" . esc_attr($acf_faculty) . "</p>" .
    "<p>" . esc_attr($acf_birthday) . "</p>" .
    "</div>";
    
    			// テンプレートパーツのh2タグの後ろにdivタグを追加する
    			$html = str_replace(
    				'</h2>',
    				$acf_employee_info,
    				$html
    			);
    		}
    		return $html;
    	}
    );

    アーカイブの時はis_post_type_archiveを指定することで表示できたので、ここをget_post_typeに変更したが表示されなかった。

    こちらも参考にしましたが、表示ができませんでした。

    ↓アーカイブページ

    アーカイブページ

    ↓任意のタクソノミー表示

    よろしくお願いします。

    #106093
    アバター画像shinko
    参加者
    31

    ありがとうございます。

    以下のように記述してみました。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/common/page-header',
    	function( $html ) {
    		// 固定ページのとき
    		if ( is_category() ) {
    			// ページヘッダータイトルの下に <div>抜粋</div> を追加
    			$html = preg_replace(
    				'|(<h1 class="c-page-header__title">.*?</h1>)|ms',
    				'$1' . '<div>' . category_description() . '</div>',
    				$html
    			);
    		}
    		return $html;
    	}
    );

    私の説明不足だったのですが、以下のようなカテゴリーになっており、

    親カテゴリー
      子カテゴリーA
      子カテゴリーB
      子カテゴリーC

    子カテゴリーに説明文を入力しても親カテゴリーの説明文が表示されてしまいます。

    何度もお手数おかけして申し訳ありませんが、よろしくお願いします。

    0
    いいねをした人: 居ません
    #105316
    アバター画像SNM-FUN
    閲覧者
    20

    まーちゅう様

    上記コードで無事実装することができました。

    この度は、ご教示いただき誠にありがとうございました。

    それではトピック閉じさせていただきます。

     

    P.S.

    ご教示いただいた内容を参考に、.c-entry__metaを、以下.c-entry__header__header内に含有させる場合、以下のように実装できましたので念の為共有いたします。

     

    /**
     * シングルページのページヘッダーにアイキャッチを追加
     *
     * @param $html テンプレートパーツの出力HTML
     * @param $name テンプレートパーツの名前
     */
    // use Framework\Helper;
    add_filter(
    	'snow_monkey_template_part_render_template-parts/content/entry/header/header',
    	function( $html, $name ) {
    		if ( "post" === $name ) {
    
    			ob_start(); // アイキャッチ画像のHTMLを記録開始
    			if ( has_post_thumbnail() ) {
    				?>
    				<div class="c-entry__thumbnail">
    					<?php the_post_thumbnail("large"); ?>
    				</div>
    				<?php
    			}
    			$thumbnail_html = ob_get_contents(); // 記録結果を変数に代入
    			ob_end_clean(); //記録終了
    
    			$search_1  = '<h1 class="c-entry__title"';
    			$replace_1 = '<div class="c-entry__header__header"><h1 class="c-entry__title"' ;
    			$search_2  = '</header>' ;
    			$replace_2 = '</div>'.$thumbnail_html.'</header>';
    			$html = str_replace(
    				[
    					$search_1,
    					$search_2
    				],
    				[
    					$replace_1,
    					$replace_2
    				],
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	2
    );
    2
    いいねをした人:
    #105303
    アバター画像まーちゅう
    参加者
    356

    こんにちは。
    カスタマイザーの設定でアイキャッチ無しにしたうえで、My Snow Monkey に以下のコードを追加してみてください。

    /**
     * シングルページのページヘッダーにアイキャッチを追加
     * 
     * @param $html テンプレートパーツの出力HTML
     * @param $name テンプレートパーツの名前
     */
    // use Framework\Helper;
    add_filter(
    	'snow_monkey_template_part_render_template-parts/content/entry/header/header',
    	function( $html, $name ) {
    		if ( 'post' === $name ) {
    			// アイキャッチ画像
    			ob_start();
    			if ( has_post_thumbnail() ) {
    				?>
    <div class="entry-thumbnail">
    	<?php the_post_thumbnail( 'medium' ); ?>
    </div>
    				<?php
    			}
    			$thumbnail = ob_get_contents();
    			ob_end_clean();
    			$search_1  = '<h1';
    			$replace_1 = '<div class="entry-header"><h1' ;
    			$search_2  = '</h1>' ;
    			$replace_2 = '</h1>'.$thumbnail.'</div>';
    			$html = str_replace(
    				[
    					$search_1,
    					$search_2
    				],
    				[
    					$replace_1,
    					$replace_2
    				],
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	2
    );

    CSSでの調整が必要になるので以下のような感じでレイアウト調整してみてください。

    .entry-header {
    	display: flex;
    	justify-content: space-between;
    }
    
    .entry-thumbnail {
    	width: 20%;
    }
    3
    いいねをした人:
    #104986
    アバター画像キタジマ タカシ
    参加者
    2260

    ちょっときれいなやり方ではないかもですが、下記のコードでとりあえず実現はできると思います。My Snow Monkey に貼り付けて調整してみてください。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/common/page-header',
    	function( $html ) {
    		// img タグを picture + source + img に置換
    		// 639px以下のときは source で指定した画像を表示する
    		return preg_replace(
    			'|(<img [^>]+>)|ms',
    			'<picture>
    				<source srcset="https://placehold.jp/100x100.jpg" media="(max-width: 639px)">
    				$1
    			</picture>',
    			$html
    		);
    	}
    );
    1
    いいねをした人:
    アバター画像まーちゅう
    参加者
    356

    すみません。こちら、返事が遅くなてしまいました。
    キタジマさんにご提示いただいたコードを参考に、以下のように対応しようと思います。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/header/hamburger-btn',
    	function( $html ) {
    		ob_start();
    		?>
    		<span class="c-hamburger-btn__close-label">とじる</span>
    		<?php
    		$close_label = ob_get_contents();
    		ob_end_clean();
    		$html = str_replace(
    			'</button>',
    			$close_label.'</button>',
    			$html
    		);
    		return $html;
    	},
    	10
    );
    .c-hamburger-btn__close-label {
     display: block;
    }
    .c-hamburger-btn[aria-expanded="true"] .c-hamburger-btn__label {
      display: none;
    }
    .c-hamburger-btn[aria-expanded="false"] .c-hamburger-btn__close-label {
      display: none;
    }
    2
    いいねをした人:
15件の結果を表示中 - 46 - 60件目 (全268件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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