まさに過去記事が回答ですが・・・
解決する事ができませんでした。
なにをどうやって、なにがだめだったのか書いてくれないとどこまで挑戦したのかも分かりませんね;)
過去記事を検索して挑戦してみることは大変良いことです!失敗を恐れず、何がだめだったのか手順を含めて書いてみましょう!
aaaaa(スペース)bbbbbb
とタイトルを作成し、
(スペース)部分が改行される方法をご教授ください。
ではないですが。
タイトルに
タグを入れると改行することができますが、
アーカイブページと検索結果ページでは、改行なしで表示したいと考えています。
だったら、
アーカイブページと検索結果ページではタグをエスケープしたらどうですか。
あるいはアーカイブページと検索結果ページのCSSで
br {
display:none;
}
だな。
トピック投稿者
peco
(@peco)
多くのご返信ありがとうございます。
私がはじめに試した方法としては、functions.phpに以下を記述する方法です。
<?php
function filter_explode_title_by_space( $title=null ) {
if ( empty($title) ) return;
$title = mb_convert_kana( $title, 's' );
if ( preg_match("/^(\S*)\s+?(.*)$/i", $title, $matches) ) {
$title = $matches[1] . '<br />' . $matches[2];
}
return $title;
}
if ( is_home() ) {
add_filter( 'the_title', 'filter_explode_title_by_space' );
}
?>
上記で駄目だったので、以下の方法も試しました。
(こちらは、index.phpに記述。)
$title = the_title();
$res = str_replace(' ','
', $title);
print $res;
タイトルのスペースは、半角スペース・全角スペース両方で
試しましたが、やはり改行はされませんでした。
今回は、タイトルにbrタグを使わないで改行する方法を探しているため、
タグのエスケープとdisplay:noneに関しては、利用することが出来ません。
the_title()については、get_the_title()かthe_title(”, ”, false)で取得するといいと思います。
あとstr_replaceの改行文字に置き換えてもHTMLだと改行はしないので、素直に
タグに置き換えてはいかがでしょう。
まとめると、こんな感じ。
echo str_replace( ' ', '<br />', get_the_title() );
トピック投稿者
peco
(@peco)
tmatsuurさん
教えていただいた方法で出来ました!
この度は、ご丁寧に教えていただき
ありがとうございました!