プロフィールの経歴を改行したい
-
<?php echo wpautop( get_the_author_description() ); ?>
でどうですか?
ただしこの場合、正確には入力した通りではなく、 WordPress の投稿のように、通常の改行は br 要素に (リッチエディタでいう Shift + Enter)、 1 行開けた場合には p 要素 (リッチエディタでいう Enter) になります。
テキストエリアに
タグを入れても無視されてしまいます。変ですね。通常は XHTML タグが認識されるはずです。HTML じゃなくて XHTML なので、
ではなく
としなければなりませんが、そうなっていますか?
mizubeさま
返信ありがとうございます。該当箇所を変えたところ改行されました〜
ありがとうございます。ただ、僕の使っているテーマ(option)だと
シングルページは改行されるようになったのですが、
Authorページでの表示が改行されません。
分かる範囲でソースをたどっていくと、/*********************************************************** * op_author_info() - Shows author box on author archives * @since 1.1 ***********************************************************/ function op_author_info() { global $settings; if($settings['author_bio']) : $curauth = get_userdata(get_query_var('author')); echo get_avatar($curauth->user_email, '100'); echo $curauth->description; else: echo '<p>'; _e('You are browsing the archives of','options'); wp_title(''); echo '.</p>'; endif; } /*********************************************************** * op_author_box() - Shows author box after single posts * @since 1.1 ***********************************************************/ function op_author_box() { global $settings; if($settings['single_bio']) : ?> <div id="author-box" class="section"> <h3 class="section-header"><?php _e('About the Author','options'); ?></h3> <?php $author_email = get_the_author_email(); echo get_avatar($author_email, '100'); ?> <h4><?php the_author_posts_link(); ?></h4> <?php echo wpautop( get_the_author_description() ); ?> </div> <?php endif; }
こんな感じになっています。
op_author_boxがシングルページの投稿者プロフィール部分で
op_author_infoがAuthorページの表示部分です。op_author_infoの表示も改行させたいのですが、色々やってもうまくいきませんでした。
何度も恐縮ですが、アドバイス頂ければと思います。プログラムをよく理解していないのにも関わらず、難しいテーマのカスタマイズにトライしています。お助けください。
宜しくお願いします。> pinxnake さん
とりあえずうまくいったようでよかったです。
プログラムのことは私もよく分かっていませんので、何か間違っているかもしれませんが、
op_author_info() の中身を見てみると、 get_userdata() で表示中の Author に該当するユーザー情報のオブジェクトを取得しています。 $curauth は current user の略でしょうね。これにユーザー情報が入りました。
その文のちょっと後に $curauth->description を echo している箇所があります。$curauth->description が current author の description だとすると、 get_the_author_description() となんか似ていますよね?
ですからきっと、ここを wpautop() してあげれば良いのではないかと思います。echo wpautop( $curauth->description );
これで多分いけるんじゃないでしょうか? 試してみてください。
> lilyfan さん
私の環境でもブロック要素は大概無視されてましたので調べてみたところ (@2.6.5, 2.7RC1) 、経歴欄のデフォルトのフィルターに wp_filter_kses() があるので、使用できるタグは $allowedtags のみのようです。
これは、購読者でも自分の経歴欄を編集することが出来るから? でしょうか? ともかくご報告までmizubeさん
ご指摘の所を変更したら、、、
「できました〜〜〜〜」諦めかけてたので、本当に嬉しいです。ありがとうございました。
ホント、分からないことだらけですが、やり始めてしまったことなので、とことんやり続けます。
また、宜しくお願いします。
解決してよかったです。是非諦めずにがんばってください。
それから、ちょっと訂正します。前の書き込みで current user と書いてる箇所は current author のつもりでした。直前に get_userdata() があったために user と author がごちゃ混ぜになってしまいました。ちゃんと誤字がないか読み返してはいたのですが、自分の書いた説明を自分が理解できなかったようです、すみません。
経歴欄のデフォルトのフィルターに wp_filter_kses() があるので、使用できるタグは $allowedtags のみのようです。
なるほど、好きなタグが書けるのは編集者以上ということになりますね。となると作成者以下では
<br />
が使えないのは「仕様」ということになります。これは、購読者でも自分の経歴欄を編集することが出来るから? でしょうか? ともかくご報告まで
はい、「講読者が入力した内容は信用しない」という仕様なので、それで正しいと思います。でも、
$allowedposttags
じゃなくて$allowedtags
なのはちょっと不便かも……。
- トピック「プロフィールの経歴を改行したい」には新たに返信することはできません。