[WordPress] 投稿の本文に関する資料
Published2015-05-0620:57
Modified
『WordPress』における投稿の本文について。
投稿の本文をカスタマイズする方法など。
生データ
生の投稿の本文はWP_Postの$post_contentに格納されている。
投稿の本文を取得
投稿の本文を取得する際はget_the_content()を使う。
関数の仕様は公式リファレンスのget_the_content()を参照。
現在の投稿の本文を表示
投稿ループ中で現在の投稿の本文を表示する際はthe_content()を使う。
関数の仕様は公式リファレンスのthe_content()を参照。
基本的にはget_the_content()で取得した現在の投稿の本文を加工してechoする関数である。
the_content()の自動校正を無効化
the_content()の自動校正(例えばWordpressをWordPressに変換)を無効化する場合は次のようにフィルターフックを削除する。
remove_filter( 'the_content', 'capital_P_dangit', 11 );
the_content()の自動整形を無効化
the_content()の自動整形(記号などの変換)を無効化する場合は次のようにフィルターフックを削除する。
remove_filter( 'the_content', 'wptexturize' );
the_content()の自動pタグ付与を無効化
the_content()で自動的に付与されるHTMLのpタグを無効化する場合は次のようにフィルターフックを削除する。
remove_filter( 'the_content', 'wpautop' );
the_content()で出力する投稿の本文のHTMLタグを変換
the_content()で出力する投稿の本文のHTMLタグを変換する方法。
サンプルコードは次の通り。
function customize_the_content( $content ) {
// ビジュアルエディタ上で改行扱いとなるHTMLを通常のHTMLの改行タグに変換
$content = str_replace( '<p> </p>', '<br>', $content );
// 太字として使用されるstrongタグを表示上の太字に変換(意図的なものを含めて全て変換する点に注意)
$content = str_replace( '<strong>', '<span style="font-weight: bold;">', $content );
$content = str_replace( '</strong>', '</span>', $content );
// イタリック体として使用されるemタグを表示上のイタリック体に変換(意図的なものを含めて全て変換する点に注意)
$content = str_replace( '<em>', '<span style="font-style: italic;">', $content );
$content = str_replace( '</em>', '</span>', $content );
return $content;
}
add_filter( 'the_content', 'customize_the_content' );