私はこのような投稿内容(html)を持っています:
<div id="home_tabs">
<ul>
<li><a href="#tabs-1">Nunc tincidunt</a></li>
<li><a href="#tabs-2">Proin dolor</a></li>
<li><a href="#tabs-3">Aenean lacinia</a></li>
</ul>
<div id="tabs-1">
<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus.</p>
<p><a class="jqbut" href="#">read more</a></p>
</div>
<div id="tabs-2">Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc.</div>
<div id="tabs-3">Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti.</div>
</div>
私がecho $post['post_content'];
またはecho do_shortcode($post['post_content']);
を使っているとき、内容はうまく現れます。しかしecho apply_filters('the_content', $post['post_content']);
を使うとき、いくつかのhtmlタグは投稿から削除されます。出力は次のようになります。
<a href="#tabs-1">Nunc tincidunt</a>
<a href="#tabs-2">Proin dolor</a>
<a href="#tabs-3">Aenean lacinia</a>
<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus.</p>
<p><a class="jqbut" href="#">read more</a></p>
Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc.
Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti.
コンテンツフィルタを使用して投稿の正確なHTMLコンテンツを取得する方法
あなたは投稿コンテンツに任意のHTMLを入れるべきではなく、代わりにショートコードを使うべきです!ショートコードはこの状況のためのものです。
さもなければあなたは2つの問題に直面する:
wp_kses_post
を介してコンテンツをエスケープしますこれらはすべてセキュリティ目的で行われており、コンテンツにはレイアウトやUIではなく、コンテンツのみが含まれています。必要な場合は、ウィジェットを使用するか、コンテンツ内にショートコードを入れてください。