「snow_monkey_template_part_render」の検索結果

15件の結果を表示中 - 181 - 195件目 (全268件中)
  • 投稿者
    検索結果
  • #58669
    キタジマ タカシ
    参加者
    2252

    コード的に一番スッキリなのはこの方法かなと思いまして。ただ、本来 WP_Term のオブジェクトを返すべきところに(無理やり)独自のオブジェクトをつくって返しているので、ここはオレインさんがやられているようにテンプレート上書きか、snow_monkey_pre_template_part_rendersnow_monkey_template_part_render でなんとかするほうが安全性は高いと思います。

    1
    いいねをした人: 居ません
    Sunagawa
    閲覧者

    【お使いの Snow Monkey のバージョン】11.5.5
    【お使いのブラウザ】Safari、Google Chrome
    【当該サイトのURL】(公開できる場合は書いていただいたほうがスムーズです)

    ===

    いつもお世話になっております。

    早速で恐れ入りますが、カスタフィールドで登録した内容を特定のカテゴリーで表示したく、下記のような条件分岐での記述を考えています。この内容を出力するには、snow-monkey/template-parts 内のそれぞれ該当する以下ファイルを編集するということでよろしいでしょうか。

    そうした場合に、snow-monkey/template-parts/archive/entry/content/content.phpsnow-monkey/template-parts/content/entry/content/content.php を用意されているフィルターフックの snow_monkey_template_part_rendersnow_monkey_pre_template_part_render を利用して書き換えるということでしょうか。

    また、snow-monkey/template-parts/archive/entry/content/content.phpsnow-monkey/template-parts/content/entry/content/content.php は、おそらく複製すると思うのですが、このファイルの my-snow-monkey フォルダ内での置き場所についても教えていただけると大変助かります。

    カスタマイズには、my-snow-monkey.php を利用しています。
    どうぞよろしくお願いします。

    ★記事一覧(アーカイブ)ページでの表示

    <?php if( is_category( 'cat-hoge' ) ) { //cat-hoge の場合 ?>
        // カスタームフィールドで登録した内容
        項目01:<?php echo esc_html( get_post_meta( $post->ID, ‘cf-hoge01’, true ) ); ?>
        項目02:<?php echo esc_html( get_post_meta( $post->ID, ‘cf-hoge02’, true ) ); ?>
        項目03:<?php echo esc_html( get_post_meta( $post->ID, ‘cf-hoge03’, true ) ); ?>
        項目04:<a href="<?php echo esc_html( get_post_meta( $post->ID, ‘cf-hoge04’, true ) ); ?>”>拡大して見る</a>
        項目05:<a href”<?php echo esc_html( get_post_meta( $post->ID, ‘cf-hoge05’, true ) ); ?>”>詳しくはこちら</a>
    <?php } ?>

    snow-monkey/template-parts/archive/entry/content/content.php

    <?php while ( have_posts() ) : ?>
        // 上記のコードを記述予定。 
    <?php endwhile; ?>

    ★記事ページでの表示

    <?php if( in_category( 'cat-hoge' ) ) { //cat-hoge の場合 ?>
        // カスタームフィールドで登録した内容
        項目01:<?php echo esc_html( get_post_meta( $post->ID, ‘cf-hoge01’, true ) ); ?>
        項目02:<?php echo esc_html( get_post_meta( $post->ID, ‘cf-hoge02’, true ) ); ?>
        項目03:<?php echo esc_html( get_post_meta( $post->ID, ‘cf-hoge03’, true ) ); ?>
        項目04:<a href="<?php echo esc_html( get_post_meta( $post->ID, ‘cf-hoge04’, true ) ); ?>”>拡大して見る</a>
        項目05:<a href”<?php echo esc_html( get_post_meta( $post->ID, ‘cf-hoge05’, true ) ); ?>”>詳しくはこちら</a>
    <?php } ?>

    snow-monkey/template-parts/content/entry/content/content.php

    // 上記のコードを the_content() の上あるいは下に記述予定。
    <?php the_content(); ?>
    #58046
    キタジマ タカシ
    参加者
    2252

    最後の

    // breadcrumbs で breadcrumbs_sample.php を読む(読まれない)
    // TODO: template_breadcrumbs が読まれない。エラーになる(正しい動きか?
    add_filter(
    	'snow_monkey_template_part_render_template-parts/common/breadcrumbs',
    	function( $html, $name, $vars ) {
    		$sample_html = \Framework\Helper::get_template_part( 'breadcrumbs_template' );
    		$html = $sample_html . $html;
    		return $html;
    	},
    	10,
    	3
    );

    については、snow_monkey_template_part_root_hierarchy_template-parts/common/breadcrumbs フックはあくまで Helper::get_template_part( 'template-parts/common/breadcrumbs' ); にしか効かないので仕様通りの動きとなります。これをやりたいなら snow_monkey_template_part_root_hierarchy_breadcrumbs_template にフックする感じですかね。

    0
    いいねをした人: 居ません
    #58043
    Kmical Lights
    閲覧者
    234

    うーん…よく調べると、フック自体は動作してるっぽいです。
    何かディレクトリを正しく読みに行けてないのか動作が不明な時が多い。

    これだとどうだろう?

    ・template_breadcrumbsディレクトリ
    sample.php
    breadcrumbs_template.php

    ・template_rootディレクトリ
    sample.php

    を用意する。

    add_action( 'plugins_loaded', '_plugins_loaded' );
    
    function _plugins_loaded() {
    
    	add_filter(
    		'snow_monkey_template_part_root_hierarchy',
    		function( $hierarchy, $slug, $name, $vars ) {
    			$hierarchy[] = __DIR__ . '/template_root';
    			return $hierarchy;
    		},
    		101,
    		4
    	);
    
    	add_filter(
    		'snow_monkey_template_part_root_hierarchy_template-parts/common/breadcrumbs',
    		function( $hierarchy, $name, $vars ) {
    			$hierarchy[] = __DIR__ . '/template_breadcrumbs';
    			return $hierarchy;
    		},
    		102,
    		3
    	);
    
    	// header で sample.php を読む( rootのsample.phpを展開。正しい )
    	// TODO: ヘッダー設定は中央ロゴ
    	add_filter(
    		'snow_monkey_template_part_render_template-parts/header/center', 
    		function( $html, $name, $vars ) {
    			$sample_html = \Framework\Helper::get_template_part( 'sample' );
    			$html = $sample_html . $html;
    			return $html;
    		},
    		10,
    		3
    	);
    
    	// header で breadcrumbs_sample を読む(この場合、読めないので Notice が出る。正しい)
    	// TODO: ヘッダー設定は中央ロゴ
    	add_filter(
    		'snow_monkey_template_part_render_template-parts/header/center', 
    		function( $html, $name, $vars ) {
    			return $html;
    		},
    		10,
    		3
    	);
    
    	// breadcrumbs で sample.php を読む
    	// TODO: 優先度が高かろうと低かろうと、template_breadcrumbs の方が読まれていない。 template_root/sample.php が読まれている(正しいのか?
    	add_filter(
    		'snow_monkey_template_part_render_template-parts/common/breadcrumbs', 
    		function( $html, $name, $vars ) {
    			$sample_html = \Framework\Helper::get_template_part( 'sample' );
    			$html = $sample_html . $html;
    			return $html;
    		},
    		10,
    		3
    	);
    
    	// breadcrumbs で breadcrumbs_sample.php を読む(読まれない)
    	// TODO: template_breadcrumbs が読まれない。エラーになる(正しい動きか?
    	add_filter(
    		'snow_monkey_template_part_render_template-parts/common/breadcrumbs',
    		function( $html, $name, $vars ) {
    			$sample_html = \Framework\Helper::get_template_part( 'breadcrumbs_template' );
    			$html = $sample_html . $html;
    			return $html;
    		},
    		10,
    		3
    	);
    
    }
    0
    いいねをした人: 居ません
    #57986
    キタジマ タカシ
    参加者
    2252

    My Snow Monkey プラグイン、もしくは子テーマの functions.php に下記のコードを貼り付けてください!

    add_filter(
    	'snow_monkey_template_part_render_template-parts/archive/entry/header/header',
    	function( $html ) {
    		return preg_replace(
    			'|(<h1 class="c-entry__title">.+?</h1>)|ms',
    			'$1<span>サブタイトル</span>',
    			$html
    		);
    	}
    );

    これで「サブタイトル」という文字が表示されるようになるので、あとは CSS で良い感じに調整してください。

    .c-entry__title + span {
      〜
    }
    4
    いいねをした人: 居ません
    Kmical Lights
    閲覧者

    フォーラムの回答された古いバージョンのコードを、最新版でも対応させる為の共有トピックです。
    定期的に足していく可能性があります。(または足してください)

    現在の Snow Monkey のバージョンでは動作しないと言うトピックの回答があった場合も、
    これを試したら解決した…も目指したいです。
    動作しなくなったコードがあれば書き込んでいただけると、最新のバージョンに合わせたコードを出しやすいです。フォーラムのナレッジ化も進むと思いますので、ご協力どうぞー。

    ===

    【対応の Snow Monkey のバージョン】v11.4.0以降

    snow_monkey_template_part_renderでフォーラム内に回答されているコードは、
    snow_monkey_template_part_render_に変更することでフックの実行回数が減り表示速度の改善が見込める場合があります。
    v11系では少し記述を変更することでも多少の最適化ができます。

    多くのトピックで該当している例:

    add_filter(
    'snow_monkey_template_part_render',
    function ( $html, $slug, $name, $var ) {
    if ( 'template-parts/なんたらかんたら' === $slug ) {
    ...略...
    }
    },
    10,
    4 // または 3
    );

    の場合、下記に変更します。

    add_filter(
    'snow_monkey_template_part_render_template-parts/なんたらかんたら',
    // 元のフック名を、アンダーバー + if文に書かれたslug名を足したフック名に変更します
    
    function ( $html, $name, $vars ) {
    // $slugの引数を削除します
    
    ...略...
    // $slugのif文を除去し、if文内の処理はそのままにします。(if文に$slug以外の比較がある場合はif文はそのまま残します)
    
    },
    10,
    3 // 4の場合、3に変更します
    );

    ===

    #57354
    Kmical Lights
    閲覧者
    234

    横レス失礼します(FF外から……並の挨拶ですが)。

    カスタマイザーで選択できるのはPC時のカラム数で、タブレットとモバイルは1列固定となりますので、もしこれを変更したいとされる場合、My Snow Monkey などで

    add_filter(
    'snow_monkey_template_part_render_template-parts/widget-area/footer',
    function( $_html, $_name, $_vars ) {
    	$_html = str_replace( 'l-footer-widget-area__item c-row__col c-row__col--1-1 c-row__col--lg-1-●', 'l-footer-widget-area__item c-row__col c-row__col--1-1 c-row__col--md-1-○ c-row__col--lg-1-●', $_html );
    	return $_html;
    },
    10,
    3
    );

    半角数字で
    ●の部分には、PCの時のカラム数を書き、○の部分にタブレット時のカラム数を書いて
    試してみてください。
    (対応していないウィジェットもあります。できない場合は表示しているウィジェット名と設定しているPC時のカラム数を教えてください)

    矢印が遠くに表示される問題は、タブレット時でも2カラム以上で表示すれば収まるかと思いますが、それでも遠く離れていると感じられる場合には返信にて矢印の位置をどのようにしたいかも追加でお伝え下さい。コードを書いてみますので。

    @北島さん

    タブレット時のカラム指定もカスタマイザーでできれば便利だなーと思ってるのですが、
    追加って難しいですか?

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

    返信が含まれるトピック: *****

    *****
    [ プライベートトピックのため非表示 ]
    1
    いいねをした人: 居ません
    #57123

    返信が含まれるトピック: *****

    *****
    [ プライベートトピックのため非表示 ]
    0
    いいねをした人: 居ません
    #57071

    返信が含まれるトピック: *****

    *****
    [ プライベートトピックのため非表示 ]
    0
    いいねをした人: 居ません
    #56126
    キタジマ タカシ
    参加者
    2252

    はい、これは仕様になります。PHP コードを追加することでカスタマイズ可能です。

    My Snow Monkey プラグインに下記のコードを追加してみてください。

    add_filter(
    	'snow_monkey_template_part_render',
    	function ( $html, $slug, $name ) {
    		if ( 'template-parts/widget/snow-monkey-posts' === $slug && 'recent' === $name ) {
    			$html = str_replace( 'snow-monkey-posts__title snow-monkey-recent-posts__title', 'c-widget__title', $html );
    			return $html;
    		}
    		return $html;
    	},
    	10,
    	3
    );
    0
    いいねをした人: 居ません
    #56081
    キタジマ タカシ
    参加者
    2252

    了解です! こんな感じでどうでしょうか?

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( ! is_category( '未分類' ) ) {
    			return $html;
    		}
    
    		if ( 'template-parts/loop/entry-summary/content/content' === $slug && 'rss' !== $name ) {
    			ob_start();
    			?>
    			<div class="任意の class">
    				<div class="c-entry-summary__content p-entry-content">
    					<?php the_content(); ?>
    				</div>
    			</div>
    			<?php
    			$html = ob_get_clean();
    			$html = preg_replace( '|<a[\s\t\r\n]|ms', '<span ', $html );
    			$html = str_replace( '</a>', '</span>', $html );
    		}
    		return $html;
    	},
    	10,
    	3
    );

    上記は「未分類」カテゴリーにだけ全文表示を適用するコードになります。「未分類」となっている部分を対象にしたいカテゴリー名に変更してください。また、「任意の class」としているところも適当な class 名に変更してください。

    1
    いいねをした人: 居ません
    #55620

    返信が含まれるトピック: プロフィールBOXのタイトルを変更したい

    Kmical Lights
    閲覧者
    234

    My snow monkeyで変更する場合の記述例を下記に記載しておきます。

    add_filter( 'snow_monkey_template_part_render',
    function( $_html, $_slug, $_name, $_vars ) {
    	if ( 'template-parts/common/profile-box' === $_slug ) {
    		$_html = str_replace(
    			'<h2 class="wp-profile-box__title">' . esc_html__( 'Bio', 'inc2734-wp-profile-box' ) . '</h2>',
    			'<h2 class="wp-profile-box__title">記事の投稿者について</h2>',
    			$_html
    		);
    	}
    	return $_html;
    }
    , 10, 4 );

    また、標準機能としてもらえますと使い勝手が良いと思います。

    My Snow Monkeyで記述してカスタマイズを行う場合、条件分岐などを追加する事で投稿者それぞれにスタイルを割り当てるなどもできます。
    標準機能であまり多くのことを可能にすると、そう言った機能が欲しい場合に逆に複雑になってしまいます。
    この部分のカスタマイズは、カスタマイズを記述する内容によってはプロフィールボックス全体のスタイルなども調整できるので、標準機能で変更を行うより My Snow Monkey などで記述する形を取るのを個人としてオススメしたいです。

    1
    いいねをした人: 居ません
    #55611

    返信が含まれるトピック: ヘッダーメニューについて

    キタジマ タカシ
    参加者
    2252

    まず、My Snow Monkey プラグインに下記のコードを追加してください。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/header/site-branding' === $slug ) {
    			ob_start();
    			?>
    			<div class="my-icons">
    				ここにアイコンの HTML を記入
    			</div>
    			<?php
    			return ob_get_clean() . $html;
    		}
    		return $html;
    	},
    	10,
    	2
    );

    次に、カスタマイザー → 追加 CSS に下記の CSS を追加して、PC サイズでのアイコン上の余白を調整してください(-24px の部分を任意の数値に設定)。

    @media (min-width: 1024px) {
      .my-icons {
        margin-top: -24px
      }
    }

    アイコンのサイズや数によっては折り返したりしてしまうことがあるかもしれません。そのときはまた言ってください。

    0
    いいねをした人: 居ません
    Paya
    参加者
    14

    検証遅くなりすみませんでした!(>_<)

    ユニバーサルアナリティクスを使っているか、グローバルサイトタグを使っているかで計測タグの書き方が変わるようです。

    まさにこちらが原因だったようです!

    グローバルサイトタグの書き方にしたら無事に計測されました!

    原因究明いただき、本当にありがとうございました!
    助かりましたm(__)m

    今回の場合、コードはこちらになりました。↓(同じところで躓いた方のために)

    グローバルサイトタグ使用▼

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $_html, $_slug ) {
    		if ( 'template-parts/common/infobar' === $_slug ) {
    			$_html = str_replace(
    				'<a class="p-infobar__inner"',
    				'<a class="p-infobar__inner" onclick="gtag(\'event\', \'tel-tap\', {\'event_category\': \'click\'});"',
    				$_html
    			);
    		}
    		return $_html;
    	},
    	10,
    	2
    );
    1
    いいねをした人: 居ません
15件の結果を表示中 - 181 - 195件目 (全268件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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