よくある質問ですよね、Pタグ。
「the_content pタグ」このあたりで検索すると山ほど出てきますんで、お好きな方法で…。
V.J.Catkickさんありがとうございます。
>「the_content pタグ」このあたりで検索すると山ほど出てきますんで、お好きな方法で…。
そうなのですね・・・
失礼しました。
ちょっと、調べてみます。
V.J.Catkickさんにご指摘いただき、調べてみたのですが、プラグイン、もしくは、default-filters.phpの該当部分の削除でPタグが入らないということで、試したところ、そのように、動作しました。
しかし、投稿時に不便な点が生じてしまいました。
このフォーラムでの過去の質問なのですが、質問した方は、私と同様にクラスを指定しても、<p><p class=”xxx”>コンテンツ</p></p>のように、Pタグがダブるということを言われているのですが、それに対して、下記のように、書かれています。
http://ja.forums.wordpress.org/topic/2482?replies=10
>本文をきちんと p で段落分けしてマークアップすれば、全体を p で包むようなマークアップにはなりません。
この方の場合はプラグインなどの問題も示唆されていましたが、私の場合はプラグインを1つも入れていない状態で上記のようになってしまいます。
<p class=”xxx”><?php the_content( ); ?></p>
↓
<p class=”xxx”><p>コンテンツ</p></p>
(私の場合はクラスの内側にPタグが挿入されます)
どのような、原因が考えられるでしょうか?
まず、インストール直後のクリーンな状態でthe_content()を実行すると、Pタグが入った状態になりますよね。つまり、the_content()を呼び出している場所をさらにPタグでくくると、
<p class="xxx"><?php the_content( ); ?></p>
↓
<p class="xxx"><p>コンテンツ</p></p>
という状態になります。これが正常な動作で、なんらかの方法、例えばフィルタ等を用いてthe_content()からPタグを抜くと、
<p class="xxx">コンテンツ</p>
という結果が得られるはずです。ここいらはプラグイン等「やり方」によって左右されるのでなんとも言えませんが、ほぼ、目的は同じだと思います。
だから、これら以外の結果になるとすれば、プラグインや訂正が正しく動作していないことが考えられます。特にコアソース(WPの構成ファイルそのもの)をいじるのは、バージョンアップ等で対応しきれなくなったり、不用意な動作をしたりするので、単にPタグを抜きたいのであれば、CSSでPタグに対して修飾をかけたほうが近道だと思います。
V.J.Catkickさま
ありがとうございます。
プレーンな状態でそのようになっているのですが、テーマはデフォルトのTwentyではありません。
このテーマに何かしら問題があるんでしょうね。
アドバイスのように、CSSで表示を制御するように、考えてみます。
このテーマに何かしら問題があるんでしょうね。
今回の件では特に問題は無いと思います。テーマとthe_content()との連携がうまくいっていないだけです。
単にPタグを抜きたいのであれば、CSSでPタグに対して修飾をかけたほうが近道だと思います。
テーマのfunction.phpに以下を追加する方法なら手軽なのでお試しあれ。
remove_filter('the_content', 'wpautop');
kurosquareさま
ありがとうございます。
V.J.Catkickさんにご指摘いただき、やってはみました。確かにpタグは入らなくなるのですが、改行もなくなってしまうため、手動で入力しなければなりません。
それは、手動で入れてもいいんですが、実際に投稿する際にhtmlのエディタで入力して、一度、ビジュアルに切り替え、再度、htmlに戻ると改行タグがなくなってしまうという現象が出てしまいました。
自分だけで、投稿する分にはいいんですが、複数の人間で扱うとなるとちょっと不便かと思いまして。
あえて、そのことは聞かなかったのですが、みなさん。そのような状態にはならないでしょうか?
>今回の件では特に問題は無いと思います。テーマとthe_content()との連携がうまくいっていないだけです。
これは、相性みたいもので、簡単に解決できるものではないんですよね?
the_content()を書くべきところを
<?php echo $post->post_content; ?>
↑これか
<?php echo str_replace( "\n", '<br />', $post->post_content ); ?>
↑こんなのとか…どうでしょう?
※検証してないけど…(汗
V.J.Catkickさま
ありがとうございます。
試してみて、また報告させていただきます。