「entry-summary $html」の検索結果

15件の結果を表示中 - 46 - 60件目 (全72件中)
  • 投稿者
    検索結果
  • #68410
    マドカ
    閲覧者
    7

    キタジマさん

    早々にご返信いただきましてありがとうございます!
    お返事が遅くなりまして申し訳ございません!

    上記だとやはり希望通りの動作にならず試行錯誤していただのですが、こちらの記事を参考にさせていただきましたらうまくいきました!

    ■参考記事
    カスタム投稿のアーカイブ(記事一覧)で、タイトルの下にカスタムフィールドの内容を表示する

    my-snow-monkeyに記載した内容は以下のとおりです(一部のみの書きかえですが、他の方の参考になれば)。
    もし内容に不適切な箇所があればご指摘いただければ助かります。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	//entry-summary-postが対象
    	function( $html ) {
    		if (get_post_type() === 'works'): //カスタム投稿worksに限定する
    			// 以降の出力を変数に格納する
    			ob_start();
    			?>
    			<div class="client-name">
    				<p><?php echo esc_html (get_field('client_name')); ?></p>
    			</div>
    			<?php
    			// 変数に格納する
    			$works_client = ob_get_clean();
    			// </header>を書き換える
    			return str_replace(
    				'</header>',
    				'</header>'.$works_client,
    				$html
    			);
    		endif;
    		return $html;
    	}
    );

    どうぞよろしくお願いいたします。

    1
    いいねをした人: 居ません
    #66985
    アバター画像キタジマ タカシ
    参加者
    2426

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

    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
    いいねをした人: 居ません
    #61554
    アバター画像キタジマ タカシ
    参加者
    2426

    これでどうでしょう?

    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(
    				'|<li class="c-meta__item c-meta__item--author">.*?</li>|ms',
    				'',
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	3
    );

    上記で HTML ごと消えると思いますが、互換性を考えると CSS のほうが安定度は高いかなぁとは思います。

    1
    いいねをした人: 居ません
    #56081
    アバター画像キタジマ タカシ
    参加者
    2426

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

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

    これでどうでしょう? Snow Monkey のデフォルトは a で全体が囲われる前提の CSS になっているので、CSS はちょっと調整が必要です。

    add_filter(
    	'snow_monkey_pre_template_part_render',
    	function( $html, $slug, $name, $vars ) {
    		if ( 'template-parts/loop/entry-summary' === $slug && 'post' === $name ) {
    			if ( isset( $vars['_entries_layout'] ) && 'text' === $vars['_entries_layout'] ) {
    				ob_start();
    				?>
    				<section class="c-entry-summary c-entry-summary--post c-entry-summary--my-text">
    					<div class="c-entry-summary--my-text__meta">
    						<ul class="c-meta">
    							<li class="c-meta__item c-meta__item--published">
    								<?php the_time( get_option( 'date_format' ) ); ?>
    							</li>
    							<li class="c-meta__item c-meta__item--author">
    								<a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>">
    									<?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?><?php echo esc_html( get_the_author() ); ?>
    								</a>
    							</li>
    							<li class="c-meta__item c-meta__item--categories">
    								<?php
    								$categories = get_the_terms( get_the_ID(), 'category' );
    								if ( $categories ) {
    									foreach ( $categories as $category ) {
    										?>
    										<a class="wpaw-term wpaw-term--category-<?php echo esc_attr( $category->term_id ); ?>" href="<?php echo esc_url( get_term_link( $category ) ); ?>"><?php echo esc_html( $category->name ); ?></a>
    										<?php
    									}
    								}
    								?>
    							</li>
    						</ul>
    					</div>
    
    					<div class="c-entry-summary__body">
    						<div class="c-entry-summary__header">
    							<a href="<?php the_permalink(); ?>">
    								<?php \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary/title/title' ); ?>
    							</a>
    						</div>
    					</div>
    				</section>
    				<?php
    				return ob_get_clean();
    			}
    		}
    		return $html;
    	},
    	10,
    	4
    );

    ごめんなさい、何度やってもコードになってくれない…

    お手数おかけしてすみません!bbPress はブロックコードも ``` じゃなくて で囲まないといけないみたいなんです。テキストモードだと「code」というボタンがでていると思うので、コードを囲ってそのボタンを押してもらうと良いかと思います(もしくは pre タグも使えるのでそれで囲ってもらっても大丈夫です)。

    0
    いいねをした人: 居ません
    土居 安佳里
    参加者
    5

    ありがとうございます!!

    全部をまるっと記事へのリンクではなく、タイトルは記事へのリンク、カテゴリーはカテゴリー一覧へのリンクが望ましいかなと感じたので、自分で以下のようにしたのですが、カテゴリーへのリンクの記載がわからず…。

    PHP全然わかってないので恐らく初歩的なことなのかと思うのですが…お手間をかけてすみません🙇‍♂️

    add_filter(
    	'snow_monkey_pre_template_part_render',
    	function( $html, $slug, $name, $vars ) {
    		if ( 'template-parts/loop/entry-summary' === $slug && 'post' === $name ) {
    			if ( isset( $vars['_entries_layout'] ) && 'text' === $vars['_entries_layout'] ) {
    				ob_start();
    				?>
    				<div>
    					<section class="c-entry-summary c-entry-summary--post c-entry-summary--my-text">
    						<div class="c-entry-summary--my-text__meta">
    							<ul class="c-meta">
    								<li class="c-meta__item c-meta__item--published">
    									<?php the_time( get_option( 'date_format' ) ); ?>
    								</li>
    								<li class="c-meta__item c-meta__item--author">
    									<?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?><?php echo esc_html( get_the_author() ); ?>
    								</li>
    								<li class="c-meta__item c-meta__item--categories">
    									<?php
    									$categories = get_the_terms( get_the_ID(), 'category' );
    									if ( $categories ) {
    										foreach ( $categories as $category ) {
    											?>
    											<span class="wpaw-term wpaw-term--category-<?php echo esc_attr( $category->term_id ); ?>"><?php echo esc_html( $category->name ); ?></span>
    											<?php
    										}
    									}
    									?>
    								</li>
    							</ul>
    						</div>
    
    						<div class="c-entry-summary__body">
    							<div class="c-entry-summary__header">
    								<a href="<?php the_permalink(); ?>">
    									<?php \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary/title/title' ); ?>
    								</a>
    							</div>
    						</div>
    					</section>
    				</div>
    				<?php
    				return ob_get_clean();
    			}
    		}
    		return $html;
    	},
    	10,
    	4
    );

    ごめんなさい、何度やってもコードになってくれない…

    1
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2426

    下記のコードを My Snow Monkey に貼り付けてください。子テーマをお使いの場合は、子テーマの functions.php でも構いません。

    add_filter(
    	'snow_monkey_pre_template_part_render',
    	function( $html, $slug, $name, $vars ) {
    		if ( 'template-parts/loop/entry-summary' === $slug && 'post' === $name ) {
    			if ( isset( $vars['_entries_layout'] ) && 'text' === $vars['_entries_layout'] ) {
    				ob_start();
    				?>
    				<a href="<?php the_permalink(); ?>">
    					<section class="c-entry-summary c-entry-summary--post c-entry-summary--my-text">
    						<div class="c-entry-summary--my-text__meta">
    							<ul class="c-meta">
    								<li class="c-meta__item c-meta__item--published">
    									<?php the_time( get_option( 'date_format' ) ); ?>
    								</li>
    								<li class="c-meta__item c-meta__item--author">
    									<?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?><?php echo esc_html( get_the_author() ); ?>
    								</li>
    								<li class="c-meta__item c-meta__item--categories">
    									<?php
    									$categories = get_the_terms( get_the_ID(), 'category' );
    									if ( $categories ) {
    										foreach ( $categories as $category ) {
    											?>
    											<span class="wpaw-term wpaw-term--category-<?php echo esc_attr( $category->term_id ); ?>"><?php echo esc_html( $category->name ); ?></span>
    											<?php
    										}
    									}
    									?>
    								</li>
    							</ul>
    						</div>
    
    						<div class="c-entry-summary__body">
    							<div class="c-entry-summary__header">
    								<?php \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary/title/title' ); ?>
    							</div>
    						</div>
    					</section>
    				</a>
    				<?php
    				return ob_get_clean();
    			}
    		}
    		return $html;
    	},
    	10,
    	4
    );

    既存の HTML 構造だと CSS だけではできなさそうだったので、HTML もまるごと書き換えるようにしました。ちょっとコードが長くてわかりにくいかもしれませんが、HTML の部分にだけ注目してもらえば調整等しやすいかもしれません。

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

    返信が含まれるトピック: 投稿一覧のデザインを大きく変更したい

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

    My Snow Monkey に下記を追加してください。「投稿」かつ「リッチメディア」のときに書き換えが実行されます。

    add_filter(
    	'snow_monkey_pre_template_part_render',
    	function( $html, $slug, $name, $vars ) {
    		if ( 'template-parts/loop/entry-summary' === $slug && 'post' === $name ) {
    			if ( isset( $vars['_entries_layout'] ) && 'rich-media' === $vars['_entries_layout'] ) {
    				ob_start();
    				?>
    				<section class="c-entry-summary c-entry-summary--post c-entry-summary--my-rich-media">
    					<?php \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary/figure/figure' ); ?>
    
    					<div class="c-entry-summary__body">
    						<header class="c-entry-summary__header">
    							<?php \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary/title/title' ); ?>
    						</header>
    					</div>
    
    					<div class="c-entry-summary--my-rich-media__meta">
    						<div class="c-entry-summary--my-rich-media__author">
    							author: <?php the_author(); ?>
    						</div>
    						<span class="c-entry-summary--my-rich-media__published">
    							<?php the_time( get_option( 'date_format' ) ); ?>
    						</span>
    						<span class="c-entry-summary--my-rich-media__categories">
    							<?php
    							$categories = get_the_terms( get_the_ID(), 'category' );
    							if ( $categories ) {
    								foreach ( $categories as $category ) {
    									?>
    									<a href="<?php echo esc_url( get_term_link( $category ) ); ?>">#<?php echo esc_html( $category->name ); ?></a>
    									<?php
    								}
    							}
    							?>
    						</span>
    						<span class="c-entry-summary--my-rich-media__tags">
    							<?php
    							$tags = get_the_terms( get_the_ID(), 'post_tag' );
    							if ( $tags ) {
    								foreach ( $tags as $tag ) {
    									?>
    									<a href="<?php echo esc_url( get_term_link( $tags ) ); ?>">#<?php echo esc_html( $tags->name ); ?></a>
    									<?php
    								}
    							}
    							?>
    						</span>
    					</div>
    				</section>
    				<?php
    				return ob_get_clean();
    			}
    		}
    		return $html;
    	},
    	10,
    	4
    );

    ごっそり書き換えているので、アップデートの際は影響がでることがあるかもしれません。アップデートの際はご注意ください。

    CSS も書いてみました。適当に調整してください。

    .c-entry-summary--my-rich-media__meta {
    	font-size: 12px;
    }
    .c-entry-summary--my-rich-media__author {
    	color: #999;
    }
    .c-entry-summary--my-rich-media__categories {
    	color: red;
    }
    .c-entry-summary--my-rich-media__categories a {
    	color: inherit;
    	text-decoration: none;
    }
    .c-entry-summary--my-rich-media__tags {
    	color: orange;
    }
    .c-entry-summary--my-rich-media__tags a {
    	color: inherit;
    	text-decoration: none;
    }
    1
    いいねをした人:
    #53124

    返信が含まれるトピック: 記事一覧の表示を全文表示に変更したい

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

    一応下記のコードで全文表示にできることはできました。My Snow Monkey プラグインに貼り付けてみてください。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/loop/entry-summary' === $slug && 'rss' !== $name ) {
    			// リンクの開始タグを削除
    			$html = preg_replace( '|<a href="[^"]+?">\s*?(<section class="c-entry-summary)|ms', '$1', $html );
    			// リンクの終了タグを削除
    			$html = preg_replace( '|(</section>)\s*</a>$|ms', '$1', $html );
    		} elseif ( 'template-parts/loop/entry-summary/content/content' === $slug && 'rss' !== $name ) {
    			ob_start();
    			?>
    			<div class="c-entry-summary__content p-entry-content">
    				<?php the_content(); ?>
    			</div>
    			<?php
    			$html = ob_get_clean();
    		}
    		return $html;
    	},
    	10,
    	3
    );

    ただ、全文表示を想定したつくりにはなっていないので、例えばブロックを全幅や幅広にしたりしているとずれたりすると思います。ごくごくシンプルな文章と画像を並べただけの記事なら問題は少ないと思いますが、それ以上のことをやっていると微妙かもしれません…。

    0
    いいねをした人: 居ません
    #52427
    クラのこ
    閲覧者
    2

    なるほど、調査ありがとうございます!!

    そちらの構文の方がわかりやすいですね。
    テンプレート変更・変数変更と似てますし。

    以下のように修正して重複出力を解決できました!

    function custom_template__loop_entry_summary_meta_meta__remove_author() {
      ?>
        <div class="c-entry-summary__meta">
          <ul class="c-meta">
            <li class="c-meta__item c-meta__item--published">
              <?php the_time( get_option( 'date_format' ) ); ?>
            </li>
          </ul>
        </div>
      <?php
    }
    
    add_filter(
      'snow_monkey_template_part_render',
      function( $html, $slug ) {
        if ( 'template-parts/loop/entry-summary/meta/meta' === $slug ) {
          return custom_template__loop_entry_summary_meta_meta__remove_author();
        }
        return $html;
      },
      10,
      2
    );

    この方法で対応可能なので、アップデートではなく記事修正で良いかと思いました!

    0
    いいねをした人: 居ません
    #52411
    アバター画像キタジマ タカシ
    参加者
    2426

    snow_monkey_get_template_part_xxxx アクションフックはinc2734_view_controller_get_template_part_xxxx アクションフックをラップしたものなのですが、アクションフックのラップはフィルターフックのラップと違ってちょっと工夫が必要なようで、それが不足していたために何度もコールバックが追加されてしまうという感じになっていました。次のアップデートでコールバックは1つまでしか追加されないようにしようと思いますが、別なフックで対応したほうがいろいろわかりやすいかもしれません…。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/loop/entry-summary/meta/meta' === $slug ) {
    			return 'hoge';
    		}
    		return $html;
    	},
    	10,
    	2
    );
    0
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2426

    情報ありがとうございます! こんな感じでどうでしょう?

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name, $vars ) {
    		if ( 'news' !== get_post_type() ) {
    			return $html;
    		}
    
    		if ( 'template-parts/loop/entry-summary/title/title' === $slug ) {
    			$title_tag = $vars['_title_tag'];
    
    			return sprintf(
    				'<%1$s class="c-entry-summary__title">%2$s</%1$s>',
    				esc_html( $title_tag ),
    				esc_html( get_post_meta( get_the_ID(), 'title', true ) )
    			);
    		} elseif ( 'template-parts/loop/entry-summary/content/content' === $slug ) {
    			return sprintf(
    				'<div class="c-entry-summary__content">%1$s</div>',
    				esc_html( get_post_meta( get_the_ID(), 'content', true ) )
    			);
    		}
    
    		return $html;
    	},
    	10,
    	4
    );

    'news' !== get_post_type() の部分がカスタム投稿タイプかどうかの判定になります。news の部分をご自身のカスタム投稿タイプ名にあわせて変えてください。

    get_post_meta( get_the_ID(), 'title', true ) がタイトル部分のカスタムフィールドの出力になります。title の部分をご自身のカスタムフィールド名にあわせて変えてください。

    get_post_meta( get_the_ID(), 'content', true ) がグレー文字部分のカスタムフィールドの出力になります。content の部分をご自身のカスタムフィールド名にあわせて変えてください。

    2
    いいねをした人: 居ません
15件の結果を表示中 - 46 - 60件目 (全72件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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