質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

1114閲覧

WordPressにシンタックスハイライターの「Prism.js」が反映されない

Risney

総合スコア148

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/07/07 02:35

編集2020/09/25 04:30

前提・実現したいこと

■前提
・Xserver契約
・Wordpress利用
・LION Blog(LION Media)というテーマを使用

■実現したいこと
表題の通りですが、
期待値としては以下の画像のように、
シンタックスハイライトが有効化されることです(画像参照)

公式HPより抜粋

発生している問題・エラーメッセージ

LionMediaというテーマには、
元々コードがハイライトされる機能が実装されているのですが、
それが邪魔していて期待値どおりに表示されないようです(画像参照)

実際の投稿画面

しかし「css」や「copy」ボタンが表示されているので、
反映されている部分もあるようです。

行った手順

  1. Prism.js公式HPからjsとcssファイルをダウンロード [設定値URL]
  2. ドメイン名直下に「css」と「js」のディレクトリを作成

/(ドメイン名)/css
/(ドメイン名)/js
0. 上記のディレクトリの中にそれぞれファイルを格納
/(ドメイン名)/css/prism.css
/(ドメイン名)/js/prism.js
0. functions.phpにファイルを呼び出す記述を加える
functions.phpは以下の階層にあるものを修正しています。
/(ドメイン名)/public_html/wp-content/themes/lionmedia-chuld(反映させたいテーマ)

functions.phpに追記したコード

add_action( 'wp_enqueue_scripts', 'my_files' ); function my_files() { //Prism.jsのCSSとJSの呼び出し wp_enqueue_style( 'prism-style', get_stylesheet_directory_uri() . '/css/prism.css' ); wp_enqueue_script( 'prism-script', get_stylesheet_directory_uri() . '/js/prism.js', array('jquery'), '20170221', true ); }

試したこと

■試したこと①
こちらのサイトを参考に元のハイライトを解除するCSSを追加するが、状況は変わらずでした。

外観 > カスタマイズ > 追加 CSS に以下のコードを追加

css

1/* Syntax highlight */ 2.content .wp-block-code{ 3 padding:0px; 4 border-left: none; 5 font-size:1.8rem; 6} 7 8@media only screen and (max-width: 767px){ 9 .content .wp-block-code{ 10 padding:0px; 11 font-size:1.4rem; 12 } 13}

■試したこと②
こちらのサイトを参考にheadタグ内で「Prism.js」を読み込み指定するが、状況かわらず。

html

1<link rel="stylesheet" href="アップロードしたフォルダまでのパス/prism.css"> 2<script src="アップロードしたフォルダまでのパス/prism.js"></script>

備考

公式HP記載の使用方法(日本語へGoogle翻訳)

・よく比較される「highlight.js」もありますが、
行番号を表示させたい為「Prism.js」を使用することにしました。

・テーマとの相性があるかもしれないです…。

・またプラグインのcrayonも有名ですが、重いのでこちらに切り替えたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

function.phpではなくfunctions.phpにコードを書かないと動かない

そしてwp_enqueue_style()とwp_enqueue_script()が動作してもこれでは404エラーになる

ドメイン名直下に「css」と「js」のディレクトリを作成
/(ドメイン名)/css
/(ドメイン名)/js
上記のディレクトリの中にそれぞれファイルを格納

lionmedia-chuldの中にcss、jsディレクトリを作成して必要なファイルを配置しなければならない

投稿2020/07/10 15:08

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Risney

2020/07/10 16:17

回答ありがとうございます。 「function.php」は誤字で、「functions.php」でした。 ご指摘ありがとうございます。 つまり以下の様にすれば良いということでしょうか? /lionmedia-chuld/css/prism.css /lionmedia-chuld/js/prism.js
Risney

2020/07/11 00:39

上記の階層で試しましたが、適用されませんでした。 やはりテーマとの相性でしょうか… 一旦違うテーマで同じ状態にして反映されるか試してみたいと思います。
退会済みユーザー

退会済みユーザー

2020/07/11 00:42

まずソースやデベロッパーツールで当該ファイルが正しく読み込まれているか確認
Risney

2020/07/11 02:30

読み込まれていなければ、「発生している問題・エラーメッセージ」内の画像の通りにcss,copyボタンが表示されないと思います。 そこは表示されているので、読み込まれている上で、テーマのシンタックスが上書きされていると思っていますが違うのですかね…
退会済みユーザー

退会済みユーザー

2020/07/11 02:39

あくまで確認 問題の切り分けするのに必要だと思うが そもそも書かれている内容の通りだとパスが違うのでファイルが存在しないことになる >テーマのシンタックスが上書き どちらかといえば競合してしまうと思う
Risney

2020/07/11 02:50

理解しました。 パスが違くても反映はされるのですね… >どちらかといえば競合してしまうと思う たしかにどっちのデザインも反映されてますね。
退会済みユーザー

退会済みユーザー

2020/07/11 03:16

>パスが違くても反映はされるのですね… そんな事を書いて無い 階層が違えば読み込まれるはずがないので ソースやデベロッパーツールで当該ファイルが正しく読み込まれているか確認 と書いたが、その確認すらしない理由は? とりあえずやるべきことは設置したファイルが正しく読み込まれているか 読み込まれていないなら正しく設置 読み込まれていて意図した動作しないならJS絡みのエラーが無いか確認 テーマに初めから組み込まれたソレを無効化
Risney

2020/07/11 03:40

>そもそも書かれている内容の通りだとパスが違うのでファイルが存在しないことになる ファイルが存在しないことになるのに反映されているのでそゆことかと思いました 確認しない理由については、 確認方法が不明だからです。 わかるのであれば記載してます。 ありがとうございます。 不明点は自分で調べてやってみます。
退会済みユーザー

退会済みユーザー

2020/07/11 03:57

ブラウザでソースを表示してprism.cssとprism.jsがあるかどうか クリックすれば有無も分かるが また、デベロッパーツールで確認すればファイルが存在しなければ404エラーになる ソースやデベロッパーツールの意味や使い方はネットで検索すれば情報がある
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問