とりあえずの対応策を書いておくだけ
ふとブログの管理画面を見ていたら、テーマ(Twenty Seventeen)のアップデートがあるとかいうので何の気なしにアップデートしたら、当ブログ愛用のシンタックスハイライター prism.js
が動いていないことに気づいた。テーマのディレクトリ(themes/(テーマ名)
)を見てみると、もともと置いてたPrism.js
とPrism.css
がきれいさっぱり消え失せていた。おのれWordPress
というわけでPrism.js
とPrism.css
を上げなおそうとしたのだが、もともと置いていたディレクトリの (テーマ名)/css
と (テーマ名)/js
がない。おかしいなと思って適当に (テーマ名)/assets
を開いてみたら、そこにあった。アップデートに伴って階層構造が変わっているようであった。
とりあえずそこにPrismのファイルを上げてみたが、それだけでは動かず、テーマディレクトリにある functions.php
を書き換える必要があった。もともとのファイルに次のコードを書き足す。
/**
* Prism.jsの呼び出し
*/
add_action( 'wp_enqueue_scripts', 'call_prism' );
function call_prism() {
//ディレクトリは各テーマの階層構造に応じて書き換えが必要
//cssの呼び出し
wp_enqueue_style( 'prism-style', get_stylesheet_directory_uri() . '/assets/css/prism.css' );
//jsの呼び出し
wp_enqueue_script( 'prism-script', get_stylesheet_directory_uri() . '/assets/js/prism.js', array('jquery'), '', true );
}
これで動くはず。
テーマごとに階層構造違うのなんとかしてくれ
WordPress関数にもっと詳しくなりたい。
【WordPress】テーマをアップデートしたらPrism.jsがどっかいった話