blue
囲み型ショートコードと the_excerpt()
- December 27, 2016 12:14 PM
- wordpress
WordPressの話。
「 wp the_excerpt pタグ 削除」というのもよく検索されるカスタマイズだと思うが、今回はその逆。the_excerpt()の出力結果が pタグで囲まれるのはいいのだが、記事によって囲まれないものがあることに気づいた。
どうやら記事中で囲み型のショートコードが使われている(当方の具体的状況としては Visual Composerを使っていて、記事全体がショートコードに囲まれたなかにある)場合に、出力が pタグで囲まれない。
WordPressコアのフィルター処理を追いかけた結果、ショードコードにかんする処理と、pタグで囲む処理= wpautop()の順序の問題であるらしいとわかり、以下のコード( functions.php用)で解決。
以上。
WordPressのフィルターはデフォルトの処理優先順位が 10、ショートコードは 11なので、wpautop()のあとにショートコードまわりの処理が実行される。それを変え、the_excerptにかけられる wpautop()の優先順位を明示的に「 12」にするのが上のコード。
関連記事
トラックバック(0)
トラックバックURL: https://web-conte.com/blue/mt-tb.cgi/1087