「snow_monkey_template_part_render」の検索結果

15件の結果を表示中 - 46 - 60件目 (全240件中)
  • 投稿者
    検索結果
  • #112744
    アバター画像キタジマ タカシ
    参加者
    2457

    ユーザーフォーラムは、ご自身が試されたことを共有していただくことが誰かのためになる場所なのでとてもありがたいです! このコードでも問題ありませんが、強いて言うなら snow_monkey_template_part_render ではなくて snow_monkey_template_part_render_template-parts/loop/entry-summary を使ったほうがコードがシンプルになるかなと思いました。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html, $name, $vars ) {
    		if ( 'post' === $name ) {
    			if ( 'rich-media' === $vars['_entries_layout'] ) {
    				$html = str_replace( '<a ', '<a target="_top" ', $html );
    			}
    		}
    		return $html;
    	},
    	10,
    	4
    );
    0
    いいねをした人: 居ません
    #112683
    fumist
    閲覧者
    3

    トピックを読み漁りつつ投稿させていただいたのですが、近いものを発見し、改変して試してみたらできました。失礼いたしました。

    挙動としては現在狙ったものができておりますが、私のような方のために追加したコードを載せますので、もし何かご指摘などございましたらご教示いただけますと幸いです。

    特に問題なさそうでしたら閉じさせていただきます。

    my-snow-monkeyに追加したコード

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name, $vars ) {
    		if ( 'template-parts/loop/entry-summary' === $slug && 'post' === $name ) {
    			if ( 'rich-media' === $vars['_entries_layout'] ) {
    				$html = str_replace( '<a ', '<a target="_top" ', $html );
    			}
    		}
    		return $html;
    	},
    	10,
    	4
    );
    1
    いいねをした人:
    #111816

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

    徳本 奈穂子
    参加者
    29

    キタジマさん

    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

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

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

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

    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

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

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

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

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

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

    0
    いいねをした人: 居ません
    山崎 大祐
    参加者
    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
    いいねをした人:
    アバター画像キタジマ タカシ
    参加者
    2457

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

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

    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
    参加者
    36

    ありがとうございます。

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

    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
    まーちゅう
    参加者
    368

    こんにちは。
    カスタマイザーの設定でアイキャッチ無しにしたうえで、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
    アバター画像キタジマ タカシ
    参加者
    2457

    ちょっときれいなやり方ではないかもですが、下記のコードでとりあえず実現はできると思います。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
    いいねをした人:
    まーちゅう
    参加者
    368

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

    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件目 (全240件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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