とりあえずの対応策を書いておくだけ


 ふとブログの管理画面を見ていたら、テーマ(Twenty Seventeen)のアップデートがあるとかいうので何の気なしにアップデートしたら、当ブログ愛用のシンタックスハイライター prism.jsが動いていないことに気づいた。テーマのディレクトリ(themes/(テーマ名))を見てみると、もともと置いてたPrism.jsPrism.cssがきれいさっぱり消え失せていた。おのれWordPress

 というわけでPrism.jsPrism.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がどっかいった話

投稿ナビゲーション


コメントを残す

メールアドレスが公開されることはありません。