メインコンテンツへ移動

Search results of "snow_monkey_template_part_render"

15件の結果を表示中 - 136 - 150件目 (全252件中)
  • 投稿者
    検索結果
  • #67938
    tomohanano
    参加者
    16

    アクツさん

    ありがとうございます!

    そして、非常にお恥ずかしいです…

    ご指摘どおりのケアレスミスでした。

    書き直したコードは以下のとおりです。

    本当にありがとうございました。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/archive/eyecatch',
    	function ( $html, $name, $vars ) {
    		$html = str_replace(
    			'<div class="c-eyecatch">',
    			'<div class="c-eyecatch w1280px">',
    			$html
    		);
    		return $html;
    	},10,3
    );
    
    1
    Who liked: No user
    #67933
    アクツ
    参加者
    168

    tomohanano さんこんにちは。

    コードがちゃんと動くとかはチェックしていないのですが、記載してくれたコードのフック名が違っているのでひとまずお知らせします

    snow_monkrey_template_part_render_snow_monkey_template_part_render_

    ※monkreyになっているので、そこをmonkeyにする

    2
    Who liked: No user
    #66987

    返信が含まれるトピック: 一覧の表示項目を変更したい

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

    結構聞かれることが多いので、いくつか思いつくやり方をここで書いておきたいと思います。

    CSS で消す

    単純に CSS で消す方法です。これが一番手軽で後方互換性的にも問題が起こりにくいのではないかと思います。

    .c-entry-summary__meta {
      display: none;
    }

    snow_monkey_get_template_part_args_{slug} フィルターフックで消す

    テンプレートパーツの引数を書き換える方法です。メタ情報を表示するかどうかは template-parts/loop/entry-summary.php_display_meta という引数で制御されているので、そこを false に書き換えることでメタ情報が表示されなくなります。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/loop/entry-summary',
    	function( $args ) {
    		$args['vars']['_display_meta'] = false;
    		return $args;
    	}
    );

    snow_monkey_template_part_render_{slug} フィルターフックで消す

    テンプレートパーツの HTML を書き換える方法です。メタ情報のテンプレートパーツ template-parts/loop/entry-summary/meta/meta.php の HTML を空(ここでは false にしていますがコールバック関数内で return とかでも OK)にすることでメタ情報を非表示にしています。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta',
    	'__return_false'
    );

    snow_monkey_get_template_part_{slug} アクションフックで消す

    テンプレートパーツの HTML を定義する方法です。↑のフィルターフックと似ていますが、違うのは↑はあくまで「既存のテンプレートパーツの書き換え」ですが、これは「テンプレートパーツのファイルをつくらずにテンプレートの中身を定義する」というところです。メタ情報のテンプレートパーツ template-parts/loop/entry-summary/meta/meta.php の HTML を空(ここでは false にしていますがコールバック関数内で return とかでも OK)にすることでメタ情報を非表示にしています。

    add_action(
    	'snow_monkey_get_template_part_template-parts/loop/entry-summary/meta/meta',
    	'__return_false'
    );

    参考:

    1
    Who liked: No user
    #66985
    アバター画像キタジマ タカシ
    参加者
    2593

    HTML の内容を書き換えるフィルターフックは snow_monkey_template_part_render_テンプレートのスラッグ となります。

    一覧部分のサムネイルのテンプレートを書き換えたい場合は snow_monkey_template_part_render_template-parts/loop/entry-summary/figure/figure です。

    また、一覧部分のサムネイル用のテンプレートには </header> が無いので </header> を対象に置換しようとしても機能しません。return のところを

    return $html . $cv_comment;
    

    に書き換えるとどうでしょうか?

    これで動かないようだったら調査してみます!

    0
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2593

    あ、ショートコードだと do_shortcode() 関数で囲まないと実行されないかもです。 これでどうですかね?

    add_filter(
    	'snow_monkey_template_part_render_header',
    	function( $html ) {
    		// トップページ以外のときは追加しない
    		if ( ! is_front_page() ) {
    			return $html;
    		}
    		return do_shortcode( '[metaslider id="388"]' ) . $html;
    	}
    );
    0
    Who liked: No user
    Kokodarwin
    閲覧者
    11

    Metasliderというプラグインでスライダーを作成してみました。
    そしてショートコードを該当の位置に入力したのですが、
    ショートコード自体が表示されてスライダーが表示されませんでした。

    phpの知識が無く恐縮なのですが、私のショートコードの入力方法はあっておりますでしょうか。

     

    add_filter(
    	'snow_monkey_template_part_render_header',
    	function( $html ) {
    		// トップページ以外のときは追加しない
    		if ( ! is_front_page() ) {
    			return $html;
    		}
    
    		ob_start();
    		// 追加するコンテンツを記述
    		?>
    [metaslider id="388"]
    		<!--?php <br ?--> return ob_get_clean() . $html;
    	}
    );
    0
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2593

    – ヘッダーは2行に設定
    – ヘッダー位置はノーマルに設定
    – スライダーを何らかのプラグインで作成

    として、

    下記のコードを My Snow Monkey プラグインもしくは子テーマの functions.php に追加でいけると思います。

    add_filter(
    	'snow_monkey_template_part_render_header',
    	function( $html ) {
    		// トップページ以外のときは追加しない
    		if ( ! is_front_page() ) {
    			return $html;
    		}
    
    		ob_start();
    		// 追加するコンテンツを記述
    		?>
    ここにスライダーの HTML やショートコードなど
    		<?php
    		return ob_get_clean() . $html;
    	}
    );
    0
    Who liked: No user
    HaseGawa
    参加者
    20

    キタジマ様

    一応確認ですが、投稿者の HTML を削除するのは「任意のタクソノミーブロック」だけで、カテゴリーアーカイブページの一覧部分からは消さないということであっていますでしょうか?

    投稿者のHTMLはカテゴリーアーカイブページの一覧部分、投稿記事メタ情報などすべてから削除したいのです。

    なお、カテゴリーアーカイブページの一覧部分については以前にキタジマ様からフックを教えていただきましたので削除出来ております。

    また、投稿記事メタ情報部分については、本フォーラムの過去記事に該当するフックが紹介されておりましたのでこれも削除出来ております。

    後は、固定ページに作成した任意のタクソノミーブロックにのみ投稿者が表示されていますので、これを削除したいということです。

    一応現在のフックを掲載しますので、問題点などありましたらご指摘いただけますと助かります。

    /**
     * 投稿ページのメタ情報の投稿者を削除
     */
    add_action(
    	'snow_monkey_entry_meta_items',
    	function() {
    		remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_author', 30 );
    	},
    	9
    );
    
    /**
     * カテゴリーページの投稿者を削除
     */
    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta',
    	function( $html, $name, $vars ) {
    		// カテゴリーアーカイブ表示時、かつ記事一覧部分のとき.
    		if ( is_category() && 'archive' === $vars['_context'] ) {
    			return preg_replace(
    				'|
    <ul>
     	<li class="c-meta__item c-meta__item--author">.*?</li>
    </ul>
    |ms',
    				'',
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	3
    );

    よろしくお願いいたします。

    0
    Who liked: No user
    みしま
    参加者
    58

    サニタイズの視点、完全に飛んでましたので助かります。
    esc_htmをつかって、下記のようなカスタマイズとして利用させていただきます。
    ありがとうございます!

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	//entry-summary-postが対象
    	function( $html ) {
    		if (get_post_type() === 'item'): //カスタム投稿 itemに限定する
    			// 以降の出力を変数に格納する
    			ob_start();
    			?>
    			<div class="price__wrapper">
    				<p>税込<?php echo esc_html(number_format(get_field('price'))); ?>円</p>
    			</div>
    			<?php
    			// 変数に格納
    			$kw_price = ob_get_clean();
    			// </header>を書き換える
    			return str_replace(
    				'</header>',
    				'</header>'.$kw_price,
    				$html
    			);
    		endif;
    		return $html;
    	}
    );
    4
    Who liked:
    #66067
    アバター画像キタジマ タカシ
    参加者
    2593

    一応下記のコードでグローバルナビゲーションの上に「あいうえお」という文字列を追加できるのですが、グローバルナビゲーションのテンプレートパーツは普通のグローバルナビゲーションだけではなくドロップナビゲーション(スクロールしたら上からにゅっとでてくるナビゲーション)にも流用しているので、そちらにも文字列が表示されてしまいます…。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/nav/global',
    	function( $html, $name, $vars ) {
    		?>
    		あいうえお
    		<?php
    		return ob_get_clean() . $html;
    	},
    	10,
    	3
    );

    v13.0.0 からは判別してどちらか片方に出せるようにしようと思いますが、お急ぎであればとりあえず上記で追加しておいて、ドロップナビゲーションのほうは CSS で消しておくのが良いかもしれません…。

    2
    Who liked: No user
    #65852

    返信が含まれるトピック: インフィード広告が表示されない

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

    コード書いてみました。こんな感じでどうでしょうか?

    /**
     * 投稿の一覧ページで、記事一覧レイアウトが simple のときにインフィード広告を表示
     */
    add_filter(
    	'snow_monkey_template_part_render_template-parts/archive/entry/content/content',
    	function( $html, $name ) {
    		$infeed_ads = get_option( 'mwt-google-infeed-ads' );
    		if ( ! $infeed_ads ) {
    			return $html;
    		}
    
    		$entries_layout = get_theme_mod( $name . '-entries-layout' );
    
    		if ( 'post' !== $name ) {
    			return $html;
    		}
    
    		if ( ! in_array( $entries_layout, [ 'simple' ], true ) ) {
    			return $html;
    		}
    
    		$count = 0;
    
    		return preg_replace_callback(
    			'|(<li class="c-entries__item)|s',
    			function( $matches ) use ( &$count, $infeed_ads ) {
    				$count ++;
    				if ( 0 !== $count % 4 ) {
    					return $matches[0];
    				}
    
    				ob_start();
    				?>
    				<li class="c-entries__item">
    					<?php \Inc2734\WP_Adsense\Helper::the_adsense_code( $infeed_ads ); ?>
    				</li>
    				<?php
    				return ob_get_clean() . $matches[0];
    			},
    			$html
    		);
    	},
    	10,
    	2
    );
    0
    Who liked: No user
    #65836
    みしま
    参加者
    58

    ob_start()を知らなかったので勉強になりました。

    当初理解できなかったのですが、昨日の配信で
    ・snow_monkey_template_part_render_<slug>
    ・str_replace
    に触れてらっしゃったのでどのような処理かわかりました。

    記載いただいたようにするとheaderとして上部固定などもできるようになりました。
    お手数おかけしました。ありがとうございました。

    1
    Who liked: No user
    #65764
    アバター画像キタジマ タカシ
    参加者
    2593

    もしヘッダー位置が「ノーマル」であればこれでも見え方は変わらないと思いますが、ちゃんと「ヘッダーの中」にメニューを入れたいのであれば snow_monkey_template_part_render_header フックでヘッダーの HTML を書き換える形でヘッダーの中にメニューを入れるのが良いと思います(ヘッダーの内側にはアクションフックが無いので、この HTML 書き換えようフックで代用しています)。

    add_filter(
    	'snow_monkey_template_part_render_header',
    	function( $html ) {
    		// 以降の出力を変数に格納する
    		ob_start();
    		?>
    <div class="kw-nav__wrapper">
    	<?php
    	wp_nav_menu(
    		array(
    			'theme_location' => 'kw-nav', // 指定した位置
    			'container' => 'kw-nav',
    			'container_class' => 'kw-nav',
    			'container_id' => 'kw-nav-wrap',
    			'fallback_cb' => ''
    		)
    	);
    	?>
    </div>
    		<?php
    		// 変数に格納
    		$menu = ob_get_clean();
    
    		// ヘッダーの </header> の前にメニューを追加
    		return str_replace(
    			'</header>',
    			$menu . '</header>',
    			$html
    		);
    	}
    );
    2
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2593

    My Snow Monkey プラグインに下記のコードを貼り付けてみてください。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function( $html, $name, $vars ) {
    		// 関連記事のとき
    		if ( 'snow-monkey/related-posts' === $vars['_context'] ) {
    			// テキスト部分を抽出
    			$text = trim( strip_tags( $html ) );
    			// タイトル(タグを含む)のテキスト部分を、トリミングしたテキストに置換
    			return str_replace(
    				$text,
    				mb_strimwidth( $text, 0, 10, '…' ), // 抽出したテキストをトリミング
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	3
    );

    「2行目以降」という指定はできないので、切り取る長さを調整してみてください(mb_strimwidth10 の部分)。

    あと、僕はサイトを何度も拝見しているのでだいたいなにがどこにあるのかわかりますが、初見の人は「関連記事はどこにあるの?」となってしまう場合があると思いますので、【当該サイトのURL】にはトップページの URL ではなくそのトピックの内容(今回であれば関連記事)が確認できる URL を書いていただければと思います!

    0
    Who liked: No user
    Kmical Lights
    閲覧者
    235

    v6系にはsnow_monkey_template_part_render_{slug}のフックがまだ無かった頃ですね。

    なので… snow_monkey_template_part_render
    を使用する形になります。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name, $vars ) {
    if ( $slug === 'template-parts/content/share-buttons' ) {
    元々のフックの間のコードをここに記述してください
    }
    	},
    	10,
    	4
    );

    で一度試していただけますか?。

    少し、v6.2.1ピッタリ + PDFボタンが動作するような環境構築を今直ぐにできなかったので、v6系の似たような環境で確認しました程度になってます。
    もし、上手くいかない場合は再度返信の形でお願いしますー。

    1
    Who liked: No user
15件の結果を表示中 - 136 - 150件目 (全252件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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