WordPressのシンタックスハイライターをPrismに変更する

これまでWordPressのシンタックスハイライターにSyntaxHighlighter Evolvedを使っていたけど、ふと昔のページを見たらレイアウトが崩れていることに気がついた。これを機にもっといいやつないかなと探してみた結果、Prismに変更してみることに。

https://prismjs.com/index.html

プラグインじゃなくてJavaScriptファイルを直接組み込むタイプ。不要な言語はファイルセットから外すことができるので、ファイルサイズも小さくなり無駄がないのもいい。

備忘録として自分が選択したオプションをメモっておく。

Themes

  • Coy

Laguages

  • Markup + HTML + XML + SVG + MathML
  • CSS
  • C-like
  • JavaScript
  • Bash+Shell
  • Git
  • Java
  • Perl
  • Python
  • Ruby
  • SQL

Plugins

  • Line Highlight
  • Line Numbers
  • Show Language
  • Toolbar

過去のページはこれから手動でちまちま修正していこうと思います。

Amazon Associates Link Builderで商品検索するとエラーになる

しばらく前からAmazonJSでAmazonから商品情報がとれなくなってしまいました。原因はなんとなく当たりがついていて、1月23日のPA-API利用ポリシーの変更によって、このブログからは売上実績がないために利用を停止されてしまったのではないかと思います。

じゃあどうするか、少し調べたところ、Amazonから純正のプラグイン Amazon Associates Link Builderというのが出ていて、これ経由だとPA-API利用ポリシーの影響は受けない、というのでこれに乗り換えてみることにしました。なお影響を受けない、というのはどこに記述があるかというと以下のヘルプです。

https://affiliate.amazon.co.jp/help/topic/t52/

また、発送済み商品売上が過去30日以内に発生していない場合、PA-APIをご利用いただけなくなる恐れがございます。
なお Amazon Link Builder(WordPressプラグイン)のご利用には影響はございません。

本題からそれますが、下記のプラグイン紹介ページ中に出てくるプラグインの名称もAssosiatesが入っている表記といないのが混在していてなんか雑さを感じますね。。

https://affiliate.amazon.co.jp/resource-center/how-to-use-the-amazon-link-builder-plug-in

で、さっそくインストールして商品検索してみましたが、以下のおなじみのエラーが出て検索できません。

You are submitting requests too quickly. Please retry your requests at a slower rate. For more information, see Efficiency Guidelines.

手動で1回しか実行してないのにtoo quicklyとはどういうことだよと突っ込みたくなります。エンターキー押すのがそんなに速いのかと。しばらく時間おいてもだめ(当たり前だ)だし、アクセスキーやトラッキングIDを変更してみてもダメです。

結論としては、多分、この純正プラグインもPA-API利用ポリシーの影響を受けているような気がします。Amazonサーバ側で純正プラグインからのアクセスかどうかチェックするのは、現実的に無理だと思うし。プラグインのソース読めばどういうリクエスト投げているかは明らかだから、それを真似して投げれば純正プラグインのリクエストと区別がつかないでしょう。

また、同じヘルプにはPA-API経由で売上実績を上げれば規制は解除されるとありますが、肝心のPA-API経由で商品リンクが作れないのに、どうやって売上あげるんだという完全に鶏と卵状態になっています。

まあ自分の場合は、商品画像出すためメインでアソシエイトを使っていて、紹介料は二の次なのでそれほど深刻な問題ではないですが、ちょっと困った感じですね。。

zenbackの関連するタイトルにサイト名が混ざる

タイトルの通りなんだけど、このサイトではzenbackプラグインを使っていて、各記事の下の方に表示するようにしている。

で、いつの頃からかここの関連するタイトルの表示が、記事のタイトル+サイト名になってしまい、しかも区切り文字も何にもないものだから、例えば「今更ながら乃木坂46にはまるgraphite.log」のようにおかしな感じになってしまっていた。

いろいろ直そうと試みた結果、最終的にはez-zenback側を書き換えてしまった。ez-zenback.phpの166行目、

$title = trim(wp_title('', false));

$title = get_the_title();

に変更。wp_title()はテーマのtwenty twelve側でフックされてサイト名が付与されてしまうようなので、よりピュアなメソッドっぽい get_the_title()を使うことにした。両者の使い分けはよく理解していない。とりあえずこれでうまくいっている模様。

WordPressで実体参照を無効に

昨日の crayon syntax highlighterを設定していて気がついたが、過去記事でソースを貼付けたものの中で、実体参照の文字列がそのまま表示画面に表示されているものがある。ちょっと調べてみると、どうも投稿新規追加画面で、リッチエディタとHTMLエディタを切り替えていると常に実体参照に寄せられてしまうようだ。

まったくよけいなことをしおって。。。と思うがしょうがないのでとりあえずリッチエディタ機能は無効にした。設定はユーザー->あなたのプロフィールで変更できる。

Crayon Syntax Highlighterを入れてみる

WordPressのソースコード表示プラグインとしてこれまでは SyntaxHighlighter Evolvedを使っていたのだけど、いつのまにかまともに表示できていないことに気がついたので代替品を探した結果、Crayon Syntax Highlighterを入れてみることにした。

WordPress › Crayon Syntax Highlighter « WordPress Plugins
http://wordpress.org/extend/plugins/crayon-syntax-highlighter/

これにした理由はまああんまりなくて、見栄えがよさそうなのと、上のページでの評価が高いことと最近もアップデートが行われていることくらいかな。