「snow_monkey_template_part_render」の検索結果

15件の結果を表示中 - 16 - 30件目 (全268件中)
  • 投稿者
    検索結果
  • キタジマ タカシ
    参加者
    2249

    template-parts/loop/entry-summary/title/title はアーカイブページの記事一覧部分でも最近の投稿ブロックの記事一覧部分でも共通して使用されているので、フックはどちらの場合も通っていると思います。

    気になるのは if( is_post_type_archive('propertys') ){ のところで、この条件だと「propertys というカスタム投稿アーカイブページのとき」だけしか処理が実行されなくなってしまいます。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function ( $html, $name ) {
    		if ( 'propertys' === $name ) {
    		// 〜前後省略〜
    	},
    	10,
    	2
    );

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

    1
    いいねをした人:
    sususu
    閲覧者
    10

    キタジマさん、早速のご返信ありがとうございます。

    カスタム投稿アーカイブの一覧部分と全く同じデザインの一覧を、特定の固定ページにも表示させたいということでしょうか?

    はい、そのように表示したいです。

    //////////////////////////////////////
    // カスタム投稿ページにカスタムフィールドを表示
    //////////////////////////////////////
    add_filter(
    	'snow_monkey_template_part_render_template-parts/content/entry/content/content',
    	function ($html) {
    		if (get_post_type() === 'propertys') {
    			// カスタムフィールドで設定したフィールド名を代入
    			$acf_image = get_field('property_image');
    			$acf_type = get_field('property_type');
    			$acf_location = get_field('property_location');
    			$acf_price = get_field('property_price');
    			$acf_land_area = get_field('property_land_area');
    			$acf_property_info =
    '<div class="property-info">' .
    '<div class="property-img"><img src="' . esc_url($acf_image) . '" alt="Image"></div>' .
    '<div class="property-body">' .
    '<div class="property-tag">' .
    '<p>' . esc_html($acf_type) . '</p>' .
    '</div>' .
    '<div class="property-content">'.
    '<p class="location">' . esc_html($acf_location) . '</p>' .
    '<p class="price">' . esc_html($acf_price) . '</p>' .
    '<p class="land_area">' . esc_html($acf_land_area) . '</p>' .
    '</div>' .
    '</div>' .
    '</div>';
    
    			$html = $acf_property_info;
    		}
    
    		return $html;
    	}
    );
    
    ////////////////////////////////////////////
    // カスタム投稿のアーカイブページにカスタムフィールドを表示
    ////////////////////////////////////////////
    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function ( $html ) {
    		if( is_post_type_archive('propertys') ){
    			// カスタムフィールドで設定したフィールド名を代入
    			$acf_image = get_field('property_image');
    			$acf_type = get_field('property_type');
    			$acf_location = get_field('property_location');
    			$acf_price = get_field('property_price');
    			$acf_land_area = get_field('property_land_area');
    
    			// テンプレートのh2タグの後に <div class="property-info">を追加
    			$acf_property_info = '</h2><div class="property-info">' .
    '<div class="property-img"><img src="' . esc_url($acf_image) . '" alt="Image"></div>' .
    '<div class="property-body">' .
    '<div class="property-tag">' .
    '<p>' . esc_html($acf_type) . '</p>' .
    '</div>' .
    '<div class="property-content">'.
    '<p class="location">' . esc_html($acf_location) . '</p>' .
    '<p class="price">' . esc_html($acf_price) . '</p>' .
    '<p class="land_area">' . esc_html($acf_land_area) . '</p>' .
    '</div>' .
    '</div>' .
    '</div>';
    
    			// テンプレートパーツのh2タグの後ろにdivタグを追加する
    			$html = str_replace(
    				'</h2>',
    				$acf_property_info,
    				$html
    			);
    		}
    		return $html;
    	}
    );

    アーカイブページの見た目がこちらで(この画像の上にセクションのタイトルがあります)

    ・実際に他の固定ページで「最近の投稿」ブロックを使用した見た目が

    ↓↓↓

    アイキャッチ画像を仮に抜くと上記添付画像の左上のように何も画像が表示されません。
    画像に関してはアイキャッチ画像とカスタムフィールドの画像を合わせれば良いのですがテキストなどをこちらにも紐付けさせることは可能でしょうか。

    お忙しい中大変恐れ入りますが、よろしくお願いいたします。

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

    確かに position 調整する方式だと逆にややこしくなりそうですね…。一応フックを使ったやり方も考えてみたので共有します。

    add_filter(
    	// template-parts/loop/entry-summary を書き換える
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html, $name, $vars ) {
    		// 「シンプル」のときだけ実行
    		if ( 'simple' === $vars['_entries_layout'] ) {
    			// カテゴリーラベルを取得して、各項目の最後に追加する。
    			ob_start();
    			\Framework\Helper::get_template_part(
    				'template-parts/loop/entry-summary/term/term',
    				$name,
    				array(
    					'_context' => $vars['_context'],
    					'_terms'   => $vars['_terms'],
    				)
    			);
    			$terms = ob_get_clean();
    
    			return str_replace(
    				'</section>',
    				$terms . '</section>',
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	3
    );

    これで画像に重なって表示されるやつ(デフォルト)と、項目の最後に追加されたやつの2箇所にタームが表示されるようになります。この状態で画像上のタームは CSS で消して、最後に追加されたタームは CSS で位置調整すると position だけでやる場合よりも調整しやすいかなと思います。

    1
    いいねをした人:
    sususu
    閲覧者

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

    ### 実現したいこと

    投稿記事(singleページ)にのみフッター上部(記事本文の下でも可)に再利用ブロックを追加したいです。

    (投稿を追加するとデフォルトでブロックが入る仕様にしたいから)

    ### 発生している問題

    ### 試したこと

    「外観」→「ウィジェット」の「記事本文の下」に再利用ブロックを追加したのですが

    他の固定ページにも追加されてしまいます。

    add_filter(
    	'snow_monkey_template_part_render_footer',
    	function( $html ) {
    		if ( is_singular( 'post' ) && ! has_blocks() ) {
    			return do_blocks( '<!-- wp:block {"ref":246} /-->') . $html;
    		}
    	}
    );

    調べてこちら入れてみましたがフッターが消えてしまいました。

    お忙しいところ大変申し訳ありませんがお手すきの際にご教示いただきたく存じます。

    #121933
    キタジマ タカシ
    参加者
    2249

    snow_monkey_template_part_render_ フックは文字列を return する必要があります。

    wp_ulike() がどのような関数なのかわからないのですが、文字列を「出力」する関数だと仮定すると、下記のようなコードでどうでしょうか?

    add_action(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', 
    	function( $html ) { // この $html にもともとのメタ情報の HTML が格納されています
    		ob_start(); // ここから先「出力」されるものをバッファリング(変数に格納できるように)する
    		if ( function_exists( 'wp_ulike' ) ) {
    			wp_ulike('get'); // 出力(バッファリングされる)
    		}
    		$ulike = ob_get_clean(); // $ulike に格納
    		return $html . $ulike; // もともとの HTML と ulike を返す(どちらも表示する)
    	}
    );
    0
    いいねをした人: 居ません
    hiro
    参加者

    【お使いの Snow Monkey のバージョン】バージョン: 20.0.1
    【お使いの Snow Monkey Blocks のバージョン】バージョン 19.1.0
    【お使いの Snow Monkey Editor のバージョン】バージョン 9.2.1
    【お使いのブラウザ】Chrome
    【当該サイトのURL】https://chicheweb.org/

    ### 実現したいこと

    エントリーカードにいいねプラグインのWP Ulikeのハートマークを表示させたい

    ### 発生している問題

    ### 試したこと

    add_action(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', 
    	function() {
    		?>
    		<?php if(function_exists('wp_ulike')) wp_ulike('get'); ?>
    		<?php
    	});
    );

    でハートマークを表示させたが、代わりにmeta情報が消えてしまうのでmeta情報も残した形で、エントリーカード上にWP Ulikeを表示させたい。

    以上です、実現可能でしたら、方法をご教示いただけると幸いです。

    お忙しい中、恐縮ですが、よろしくお願い致します。

    キタジマ タカシ
    参加者
    2249

    コールバック関数の第3引数 $vars の中の _itemSimplePieItem という RSS のアイテムを解析してオブジェクトにしてくれたやつが入っています。その中にちゃんと postmeta というデータも含まれているみたいだったのですが、僕も SimplePie に詳しくなくて、ちょっとこれがベストなのか自身はないのですが動いているみたいなので共有します。

    $vars['_item']->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['postmeta'][0]['data'] という感じでデータがとれるみたいです。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/rss',
    	function( $html, $name, $vars ) {
    			$postmeta = ! empty( $vars['_item']->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['postmeta'][0]['data'] )
    				? $vars['_item']->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['postmeta'][0]['data']
    				: false;
    
    			// postmeta がなければ何もせずに return
    			if ( ! $postmeta ) {
    				return $html;
    			}
    
    			ob_start();
    			?>
    			<div class="event-meta">
    				<?php echo esc_html( $postmeta ); ?>
    			</div>
    			<?php
    			$postmeta = ob_get_clean();
    
    			return str_replace(
    				'</header>',
    				'</header>' . $postmeta,
    				$html
    			);
    		return $html;
    	},
    	10,
    	3
    );
    1
    いいねをした人:
    mjmjsachi
    参加者

    【お使いの Snow Monkey のバージョン】バージョン: 19.2.0
    【お使いの Snow Monkey Blocks のバージョン】バージョン 18.2.0
    【お使いの Snow Monkey Editor のバージョン】(使っていない)
    【お使いのブラウザ】Google Chrome
    【当該サイトのURL】(未公開)

    ### 実現したいこと
    WordPressで構築された外部サイトのカスタムフィールドの情報を
    Snow Monkey Blocks の「RSSブロック」に表示したいと考えています。

    ### 試したこと
    フォーラムの「サブディレクトリにインストールしている別WPの記事サムネイルをRSSで取得したい」トピックを見て、アイキャッチ画像と目的のカスタムフィールドの値をRSSフィードに含めるところまでできました。
    ※アイキャッチ画像は表示されました!

    http://www.kfca.jp/kikaku/feed/
    ここで <postmeta> として配信されている部分を「RSSブロック」に出力したく、
    以下のように My Snow Monkey であれこれ試してみたのですが、力不足で実現できませんでした。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/rss',
    	//rssが対象
    	function( $html ) {
    			ob_start();
    			?>
    			<div class="event-meta">
    			<?php 
    			// ここをどうすれば良いかわかりませんでした;;
    			?>
    			</div>
    			<?php
    			$postmeta = ob_get_clean();
    			return str_replace(
    				'</header>',
    				'</header>'.$postmeta,
    				$html
    			);
    		return $html;
    	}
    );

    お力を貸していただけますと幸いです。
    よろしくお願いいたします。

    キタジマ タカシ
    参加者
    2249

    記事タイトルの前に出力するコードを書いてみました。

    add_filter(
    	// template-parts/loop/entry-summary/title/title.php が出力する HTML を書き換える
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function( $html ) {
    		$days  = 7; // NEWマークを表示する日数
    		$now   = date_i18n( 'U' ); // 今の時間
    		$entry = get_the_time( 'U' ); // 投稿日の時間
    		$term  = date( 'U', $now - $entry ) / 86400;
    		if ( $days > $term ) {
    			// 前に New を追加
    			$html = '<span class="new">New</span>' . $html;
    		}
    		return $html;
    	}
    );

    上記を参考に、出力するテンプレートや出力位置を変更したりしてみてもらえればと思います。

    1
    いいねをした人:
    #119815
    キタジマ タカシ
    参加者
    2249

    あ、ここデフォルトだと ID 出力されてないですね…。デフォルトで入るようにしたほうが良い気がしてきました。
    とりあえず現状は無いので、追加するコードを書いてみました。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html ) {
    		$html = str_replace( 'class="c-entry-summary ', 'class="c-entry-summary post__' . esc_html( get_the_ID() ) . ' ', $html );
    		return $html;
    	}
    );

    li.c-entries__item のところには追加できなかったので、.c-entry-summary に追加してみました。

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

    返信が含まれるトピック: 投稿ページに再利用ブロックが効かない

    キタジマ タカシ
    参加者
    2249

    詳しくありがとうございます!

    現状、固定ページの投稿一覧ページに

    これは現状出ないのが仕様になります。Twenty系のテーマでも出ないので、多分 WordPress 的にも出ないのが一般的なのだと思います。

    投稿記事のページに関しましても

    あーそうですね、エディターで入力できるのはあくまで記事のエリアだけなので、その外の部分にはウィジェットで入れるか、コードを書いて入れるかになります。コードの場合、下記のコードで実現できました。

    add_filter(
    	'snow_monkey_template_part_render_footer',
    	function( $html ) {
    		// 再利用ブロックを footer.php の HTML の真上に追加
    		return do_blocks( '<!-- wp:block {"ref":1844} /-->' ) . $html;
    	}
    );

    再利用ブロックの id(↑の場合は 1844)は、ブロックエディター上で再利用ブロックを挿入して、エディターをテキストモードに切り替えれば確認できます。

    1
    いいねをした人:
    #118048
    キタジマ タカシ
    参加者
    2249

    関連記事の上にアクションフックがないので、関連記事の HTML を書き換える形で対応するしか無いのかなと思います。もともとのコードを利用する形だとこんな感じでしょうか。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/content/related-posts' === $slug ) {
    			// 関連記事のタイトルを書き換え
    			$html = preg_replace(
    				'|<span>.*?関連記事|ms',
    				'<span>この記事を読んだ人におすすめ',
    				$html
    			);
    
    			// 関連記事の上部に HTML を追加
    			$html = '<p><img src="..." alt=""></p>' . $html;
    
    			return $html;
    		}
    		return $html;
    	},
    	10,
    	2
    );
    0
    いいねをした人: 居ません
    Kazu
    閲覧者

    お使いの Snow Monkey のバージョン】バージョン: 17.0.5
    【お使いの Snow Monkey Blocks のバージョン】バージョン 15.0.6
    【お使いの Snow Monkey Editor のバージョン】バージョン 7.0.1
    【お使いのブラウザ】Chrome
    【当該サイトのURL】https://blog.tukurell.com/

    ### 実現したいこと

    投稿ページの下部 「この記事を読んだ人におすすめ」の上段に画像を挿入したい。
    是非アドバイスをお願いします。

    ### 発生している問題

    ・自分でカスタマイズして作成したものではなく修正願いをだされたもので、編集箇所がわかっていない
    ・投稿ページの記事自体はhttps://blog.tukurell.com/WP-adminから作成しています。

    「この記事を読んだ人におすすめ」以下は、プラグインのCode SnippetsなどでPHPで記載をされています。

    my-snow-monkey内のファイルもしくはCode Snippetsで投稿ファイルの下部に常に特定の画像を表示させたいです。

    なお、ウィジェットでは「投稿ページの下部」は機能せず、「記事本文の下」では機能しますが、「この記事を読んだ人におすすめ」の下に表示されてしまいます。

    ### 試したこと

    ・サーバー内のmy-snow-monkey内のファイルを閲覧した。(見落としているかもしれませんが)

    ・ウィジェットで画像の挿入を提案しましたが、上述の「この記事を読んだ人におすすめ」の上に画像を挿入したい希望があり、こちらは承認されませんでした。

    ・「この記事を読んだ人におすすめ」はプラグイン Code Snippetsで下記のコードが記載されていました。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/content/related-posts' === $slug ) {
    			return preg_replace(
    				'|<span>.*?関連記事|ms',
    				'<span>この記事を読んだ人におすすめ',
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	2
    );

    以上です。

    キタジマ タカシ
    参加者
    2249

    ざっくりですがこんな感じでしょうか。

    My Snow Monkey プラグインか子テーマの functions.php に下記のコードを追加してみてください。

    // template-parts/nav/drawer の HTML を書き換え
    add_filter(
    	'snow_monkey_template_part_render_template-parts/nav/drawer',
    	function( $html ) {
    		return str_replace(
    			"placeholder=\"検索 &hellip;\"",
    			"placeholder=\"検索できます\"",
    			$html
    		);
    	}
    );
    0
    いいねをした人: 居ません
    GONSY
    参加者
    805

    ↑でご提示いただいたコード内にURLがあったので、サイトを拝見しました。
     
    ナビゲーション下のアイキャッチ画像+タイトルは、 この画像から、 c-page-header__content の h1 と思い込んでましたが、コンテンツ上部に表示する c-entry__header だったんですね。
    アイキャッチもCSSのバックグラウンドで設定されていたようなので、気づきませんでした。
    当然、この方法だとテンプレートの場所が違うので、私が示したコードでは何も起こりませんね(汗)

    このトピックの冒頭で提示されている
    snow_monkey_template_part_render_template-parts/content/entry/header/header は、テンプレート指定が content になっているのでおわかりかと思いますが、アーカイブページでは効きません。
    アーカイブページの場合は、snow_monkey_template_part_render_template-parts/archive/entry/header/header を使えば適用されると思います。
    ※WordPress をデバッグモードにするとソースコード上にどのテンプレートを読み込んでいるかが表示されるので、確認してみてください。
     
    で、今回の対策案ですが、例えば・・・

    add_filter(
    	'snow_monkey_template_part_render_template-parts/archive/entry/header/header',
    	function ( $html ) {
    		if ( 'land' === get_post_type() ) {
    			$html = preg_replace(
    					'|(<h1 class="c-entry__title">.*?</h1>)|ms',
    					'<h1 class="c-entry__title">土地情報</h1><p>初生・三方原エリア多数!</p>',
    			$html
    			);
    		}
    		return $html;
    	}
    );

    こんな感じではどうでしょうか?
    もう仕事納めされているかと思いますので、年明けにでもお試しくださいませ。

    3
    いいねをした人:
15件の結果を表示中 - 16 - 30件目 (全268件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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