WordPress 3.5を使用する。
私は<form>
をWPベースのサイトのPageに入れようとしています。残念ながら、WPは、フォームコントロールの横の不適切な場所に<br>
タグと<p>
タグを挿入することによって、フォームの書式設定を "便利に"厄介にしています。
私はwpautop
を世界的に無効にしたくありません、それがまだブログ投稿に役立つので(特にこれが複数著者のサイトであるので)。ページ全体で無効にしたくない場合もあります。私はこの1ページのこの1つの特定のセクションだけでそれを無効にする何らかの方法が欲しいです。
私はWP changelogを読んだところ、おそらくショートコードの出力ではwpautop
が実行されなくなったため、次のショートコードを作成してみました。
function raw_shortcode( $atts, $content = null ) {
return $content;
}
add_shortcode('raw', 'raw_shortcode');
残念ながらこれはうまくいかないようです - これでフォームを囲むとまだ望ましくない改行や段落が追加されることになります。
私はいくつかの例を見て 標準的なフィルタ への変更を提案しましたが、私はまた 他のものを読みましたこれを示唆しているページ は悪い考えです。
パーティーに遅刻しますが、このプラグイン wpautop をトグルすると、WPにあなたのコンテンツをページ上に表示させるかどうかを選択的に無効にすることができます。または投稿して、WP 4.9(この回答の現在のバージョン)で動作します。
あなたのフォームを出力するようにあなたのショートコード関数を修正してみてください - 私はあなたのコードの$ output変数にあなたのフォームhtmlを挿入することを意味します:
function raw_shortcode( $atts ) {
$output = '<form><label for="id">Label</label><input type="text" name="name" id="id"/></form>';
return $output;
}
add_shortcode('form', 'raw_shortcode');
そして単にあなたのコンテンツに[form]を追加するだけではありません。