web-dev-qa-db-ja.com

ショートコードのコンテンツから段落を削除する方法

Wordpressでショートコードを作成したことがある場合は、ショートコードの内容を取得したときに、それがHTML段落タグで囲まれていることに気付いたかもしれません。

プログラマーがなぜそうしたのか私にはわかりません。実際のコンテンツにフォーマットを追加することは、私にとって非常に悪い考えのようです。

私はこの解決策を紹介する記事を見つけました:

http://donalmacarthur.com/articles/cleaning-up-wordpress-shortcode-formatting/

しかし、私は疑問に思います:wordpress API自体によって提案された解決策、または私がここで欠けている何かがありますか?

1
SpyrosP

ショートコードはエディタに挿入されるため、エディタの規則に従います。エディタでリターンキーを押すと、他のテキストと同じように段落タグが生成されます。これはTinyMCEの機能の1つです。 TinyMCEについてもっと読むには 彼らのフォーラム そして特に this thread をチェックしてください。

3
Daniel Sachs

あなたの質問へのリンクは現在消滅しているので、私がそれが提案した解決策について確信していない、しかしここに 後世のための別の解決策 がある:

ショートコードが評価された後にフォーマットを実行するためにfunctions.phpに以下を追加してください:

remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);

著者は、それを必要とするプラグイン内でフォーマットを明示的に有効にする必要があることに注意してください。

function my_shortcode($atts) {
    $content = wpautop(trim($content));
    [snip]
1
ptim