アーカイブページのタイトルを強制改行したい

0
いいねをした人: 居ません
  • このトピックには4件の返信、2人の参加者があり、最後に山下奈津子により2年前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #102588
    山下奈津子
    閲覧者
    1

    いつも参考にさせていただいております。
    お手数ですが、下記回答いただけると助かります。

    【お使いの Snow Monkey のバージョン】16.4.6
    【お使いの Snow Monkey Blocks のバージョン】15.0.1
    【お使いの Snow Monkey Editor のバージョン】 7.0.1
    【お使いのブラウザ】Chrome
    【当該サイトのURL】https://kodawari-gotenba.sakura.ne.jp/kodawari-gotenba.jp/category/shop/sweets/

    ### 実現したいこと
    見出しとカスタムフィールド値を強制改行したい

    ### 発生している問題
    タグが表示されてしまう

    ### 試したこと
    下記の回答を参考に、my-snow-monkey.php
    【見出し】

    add_filter( 'snow_monkey_entry_summary_title_num_words', function( $num_words ) {
    	return false;
    } );

    【カスタムフィールド】

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	//entry-summary-postが対象
    	function( $html ) {
    		if ( in_category( array('meat','sweets','other','bread','drink') )): //指定カテゴリに限定する
    			// 以降の出力を変数に格納する
    			ob_start();
    			?>
    <div class="title_shopname">
    	<p><?php echo esc_html (get_field('title_shop_name')); ?></p>
    </div>
    			<?php
    			// 変数に格納する
    			$works_client = ob_get_clean();
    			// </header>を書き換える
    			return str_replace(
    				'</header>',
    				'</header>'.$works_client,
    				$html
    			);
    		endif;
    		return $html;
    	}
    );

    を追記したところ、強制改行ではなく、<br>タグが表示されてしまう。

    0
    いいねをした人: 居ません
    #102593
    まーちゅう
    参加者
    356

    <br>タグが表示されてしまう。

    <p><?php echo esc_html (get_field('title_shop_name')); ?></p>
    のところ、esc_htmlでエスケープ処理されているのが原因ではないでしょうか?
    以下のコードのようにwp_kses_postに書き換えてみてください。

    <?php
    $title_shop_name = get_field( 'title_shop_name' );
    ?>
    <p><?php echo wp_kses_post( $title_shop_name ); ?></p>

    それでもうまくいかない場合は、wp_ksesを使用してください。

    <?php
    $allowed_html = array( 'span' => array(), 'br' => array() );
    $title_shop_name = get_field( 'title_shop_name' );
    ?>
    <p><?php echo wp_kses( $title_shop_name, $allowed_html ); ?></p>
    2
    いいねをした人:
    #102596
    まーちゅう
    参加者
    356

    見落としてましたがh2の方も富士山型アイシングクッキー <br>みななろくんのように、<br>が出てるということだったんですね。
    レイアウトがリッチメディアの場合は、

    add_filter( 'snow_monkey_entry_summary_title_num_words', function( $num_words ) {
    	return false;
    } );

    を追加すると<br>が出てしまうようです。

    2
    いいねをした人:
    #102602
    まーちゅう
    参加者
    356
    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function( $html ) {
    		if ( in_category( array('meat','sweets','other','bread','drink') ) ):
    		ob_start();
    		$title = get_the_title();
    		if ( ! $title ) {
    			return;
    		}
    		?>
    		<h2 class="c-entry-summary__title">
    			<?php
    			echo wp_kses_post( $title );
    			?>
    		</h2>
    		<?php
    		$html = ob_get_clean();
    		endif;
    		return $html;
    	}
    );

    を追加してみてください。

    2
    いいねをした人:
    #102605
    山下奈津子
    閲覧者
    1

    まーちゅう 様

    回答ありがとうございました。
    おかげさまで無事希望通りの形にできました。

    カスタムフィールドの方は、
    wp_kses_post
    で実現できました。

    見出しの方は、
    回答いただいたコードをそのままで実現できました。

    解決しましたので、トピックスを閉じさせていただきます。

    1
    いいねをした人:
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • トピック「アーカイブページのタイトルを強制改行したい」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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