私は基本的にショートコードを介してHTMLを挿入する列のためのワードプレスのショートコードをコーディングしました。問題は、wpautopがコードを無効にする浮遊p要素を追加することです。
テストするには、これを自分のfunctions.phpに入れてください。
function static_col_container($atts, $content) {
extract(shortcode_atts(array(
'foo' => 'bar'
), $atts));
$content = do_shortcode($content);
$container = '<div class="static-column-container">' . $content . '</div>';
return $container;
}
add_shortcode('static-cont', 'static_col_container');
function static_col($atts, $content) {
extract(shortcode_atts(array(
'space' => '2',
'class' => ''
), $atts));
$content = do_shortcode($content);
$column_container = '<div class="static-column static-column-' . $space . ' ' . $class . '">' . $content . '</div>';
return $column_container;
}
add_shortcode('static-col', 'static_col');
使い方は次のとおりです。
[static-cont]
[static-col]
put some content here...
[/static-col]
[static-col]
put some content here...
[/static-col]
[/static-cont]
私はWordpressがppaタグを挿入するのにwpautopを使っていることを知っています。
remove_filter('the_content', 'wpautop');
問題は、今度はあなたがすべてのp要素を自分で入力しなければならないことです。誰かがより良い解決策を見つけましたか?
The_contentからフィルタを削除し、ショートコードが処理された後にそれを実行します。
試してください:
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);
通常、ショートコードは、wpautopがコンテンツに適用された後に処理されます。 http://core.trac.wordpress.org/browser/tags/3.1/wp-includes/shortcodes.php#L296 を参照してください。
私は同じ問題を抱えていました、バリデーションの観点からではなく、見慣れないpタグが私のCSSを壊していたスタイリングの観点から。
$retour ='<div class="testimonial-meta">'
$retour .='<h5>'.$testimonial_name.',</h5><span>'.$testimonial_details.'</span>';
$retour .='</div>';
return $retour;
戻っていた:
<div class="testimonial-meta">
<h5>John Doe,</h5>
<p><span>Company CEO</span></div>
</div>
私のCSSを追加することでスタイルを修正しました:
.testimonial-meta p{
display:inline;
}
うまくいけば、これは誰かに役立つかもしれません。
私のローカルインストールでその問題が発生しているのではなく、あなたのショートコードコードをコピーしてから提供サンプルを投稿すると、出力は次のようになりました。
<div class="static-column-container"><br>
<div class="static-column static-column-2 "><br>
put some content here…<br>
</div><br>
<div class="static-column static-column-2 "><br>
put some content here…<br>
</div><br>
</div>
HTMLとVisual iを切り替えると常に見えます。
[static-cont]
[static-col]
put some content here...
[/static-col]
[static-col]
put some content here...
[/static-col]
[/static-cont]
...何もありません..
TinyMCEは進んでいますか?