WordPressの記事中で、静的なHTMLパーツを読み込ませたいケースがあったとする。色々な方法があるのだろうけど、僕がやった方法は、
- functions.phpに、HTMLを読み込むショートコードを定義する
- 記事中でショートコードを使う
というやり方。自分でもやり方を忘れてしまうので、ここに記しておく。
HTMLを読み込むショートコードを定義する
functions.phpを編集する。具体的には、ダッシュボード→外観→テーマエディターと進めば、functions.phpを編集できるようになる。
その末尾に、例えば xyz.html というHTMLパーツを読み込む show_xyz という名前のショートコードを定義するには、以下のように追記すればよい。
なおここはPHPのコードであり、WordPressそのものをいじることになるので、いくらかの覚悟が要る。バックアップはきちんととってから、あとは文法間違いなどないように、慎重に行った方がよい。
/* show_xyz shortcode */
function show_xyz_func() {
return @file_get_contents( "/home/username/public_html/xyz.html" );
}
add_shortcode( 'show_xyz' , 'show_xyz_func');
記事中でショートコードを使う
ショートコードを使うのは簡単で、本文中で、
[show_xyz]
と書いておけばよい。これはContactFormプラグインを使うときと同じようなノリなのかな。