WordPressプラグイン「SyntaxHighlighter Evolved」が動かない場合の原因と解決法 8選

  • 20307
    views
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

ソースコードをハイライトしてくれるWordPressプラグイン SyntaxHighlighter Evolved は非常に便利なのですが、テーマファイルの作り方によっては上手くソースコードをハイライトしてくれない時がありますので、注意が必要です。

過去にわたし自身がハマった時の解決策も含め、様々なサイトで紹介されている「SyntaxHighlighter Evolved」が動かない場合の原因とその解決法をまとめてみました。

目次



(1)<?php wp_head(); ?> の記述の欠落

テーマファイル header.php の <head> 内に
<?php wp_head(); ?>
の記述があることが前提となります。

これが無いと SyntaxHighlighter Evolved が動きません。

<?php wp_head(); ?> を設置する場所については </head> までの間であればどこでも動くのですが、色々と他のJavascript ファイルを引っ張っている場合は、それらのファイルよりも前に記述してあげた方が良さそうです。



(2)<?php wp_footer(); ?> の記述の欠落

テーマファイルのfooter.php に
<?php wp_footer(); ?>
の記述があることも前提となります。

(1)同様、これも記述が無いと SyntaxHighlighter Evolved が動きません。

<?php wp_footer(); ?> を設置する場所については footer.php の </body> の直前が良いそうです。



(3)ショートコードの記述ミス

SyntaxHighlighter Evolvedで 利用できる [php][html][css]などのショートコードの記述が間違っている、または[/php][/html][/css]などでコードが閉じられていないという原因が考えられます。



(4)<?php the_content(); ?> のカスタマイズによる影響

例えば以下のように
<?php echo mb_substr(strip_tags($post-> post_content),0,200) ; ?>
投稿記事に200 文字で表示制限をかけているような場合に、SyntaxHighlighter Evolved が上手く動いてくれないようです。

ここは、
<?php the_content(); ?>
で正しく記述し直せば問題ないようです。



(5)functions.php 内のコードとの干渉

最近追記した functions.php 内のコードを1 つ1 つ外してみて、干渉していないかどうか確認してみましょう。



(6)他のプラグインファイルとの干渉

プラグインを数多く入れていると、その分だけ干渉する可能性が高くなるかもしれませんので、WordPress 管理画面でプラグインを1 つ1 つ外してみて、干渉していないかどうか確認してみましょう。

某かの影響が出るプラグインとしては
Script Compressor
があるようです。



(7)「Amazon」バナーのソースコードとの干渉

Amazon バナーのソースコードに含まれる<iframe> と干渉して、上手くハイライトされないケースがあるようです。

また、Google Chromeで上手く表示されないとの事例もあります。

一度 <iframe> のコードを外してみて SyntaxHighlighter Evolved が正常に動くかどうか確認してみましょう。



(8)「バリューコマース」のアフィリエイトコードとの干渉

アフィリエイト絡みでもう1 つ。

バリューコマースのアフィリエイトコード
<valuecommerce ptnOid="*******" url="http://www.hoeghoge.com/" />
ですが、これはバリューコマースのサイト認証が終われば外していいのですが、
<?php wp_head(); ?> よりもにアフィリエイトコードの記述があるとうまくハイライトされません。原因は不明です。

不要な場合はコードを除去するか、どうしても残しておきたい場合は、
<?php wp_head(); ?> よりも後にアフィリエイトコードを記述します。


色々調べた結果、現在考えられそうな原因は概ねこんな感じでしょうか。

たまにテーマファイルをいじくると動かなくなったりするので、大きくサイトをイメチェンした場合などは SyntaxHighlighter Evolved が正常に動くかどうかを確認された方が良いかもしれませんね。

  • 20307
    views
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

この投稿と関連する記事一覧

この記事に関するコメント

  1. […] 以下、紆余曲折。 ・幻想的な導入に従い、例の如く動くはずがない。 ・pluginを入れるためのftpdが入っていなかった。deamonの立ち上げ方がわからなかったため時間を食った。chkconfig, serviceなるものを使った。 ・pamを使った認証は設定が面倒らしいし、みんな逃げていたので僕もpamから逃げた。 ・phpのzlib extensionが入っていなかった。phpをconfigureし直して、installした。面倒くさい。 ・埋め込んだつもりのコードが綺麗に表示されない。http://www.imaginationdesign.jp/blog/wordpress/1733/のページを参考に、AKB48みたいな名前をした以下の2つのフォルダに施す。wp-content/themes/twentyten/, wp-content/themes/twentyeleven/ ・その後も10分、正しくpluginが動かなかったが、コーヒーを飲んで返ってきたら動いていた。 […]

コメントを残す