WordPress カスタマイズの個人的な備忘録と、ちょっとしたテストも兼ねてエントリー。
この間、超久方ぶりにサイトの模様替えをやって、かなりの部分の作法を忘れてしまっていて往生したので、きっと次に弄る時も色々往生するだろうと言う事で、必要なとこだけメモっとく。
基本的には必要最小限のプラグインとテンプレートカスタマイズだけで構築してるので、まるっとサイト構造も含めバックアップしておけば、壊れても何とかなるんだけど、一部、プラグインのコードを弄ったりしてるとこもあるので、忘れてしまわないようにしなくちゃな…と。エントリーポストと同時に Twitter へのポストも、Feed burner 側で設定していたにも関わらず、プラグインも入れちゃって二重ポストしちゃってたしなー。
このサイトの構成は、Index テンプレートや Archive テンプレートなんかの主エントリー部分以外は、Executable PHP widget を導入して、ウィジェット内でも PHP コードが動く様にして、ほとんどの部分をサイドバー・ウィジェット化してるので楽に弄れる様になってる。Index のサイドバーを3つ、サムネイルを使ったランダムエントリーの表示と Google Adsense の表示もウィジェットになってて、合計で5つのパーツを使っている。サイドバー・ウィジェットの増やし方は、functions.php 内に元からあるサイドバーのコードをコピペして増やして行くだけというお手軽仕様なんで特に難しい事は無し。必要に応じて無限に増やせると。
ちょっと手間取ったので覚えておかなければならないのが、Index ページにおける抜粋表示の文字数制限と、Random Image プラグインを使った、ランダムエントリー表示のサムネイルに title 属性を付与する件。
Index ページにおける抜粋表示の文字数制限については、当初、WP Multibyte Patch プラグインを有効化して、mb_substr 関数で切り取って表示してたんだけど、後から、Thumbnail For Excerpts プラグインを使用して、エントリーに含まれる画像をサムネイル表示する仕様に変更した関係上、デフォルトの the_excerpt タグを使用しなければならなくなったため、抜粋表示の文字数がデフォルトの110文字設定となり、あんまり表示としてはよろしくなかった。
何か回避できる方法は無いかな…と思って探すとあったあった。the_excerpt タグの抜粋文字数を変更するには、WP Multibyte Patch プラグインを有効化し、wp-multibyte-patch フォルダの中に入っている wpmp-config-sample.php の中身を弄って文字数を設定し、ファイル名を wpmp-config.php に変更すれば好みの文字数でカットできるようになる。
Link: 「WP Multibyte Patch」を使って、the_excerptタグの抜粋文字数を変更する方法 | ワープラッ!
んでもって、Random Image プラグインで表示される画像は alt 属性は付与されるけど、title 属性は付与されないので、クリックするまで何のエントリーかわからないという微妙な感じになっている。これに関してはプラグインを編集する事によって対応。中身見てたらそれらしき場所があったので。
やり方は、プラグインの編集ページを開いて、それらしい img src タグを検索で探して title=’$post_title’ という属性を追加してやるという流れ。img src でページ内検索すると3カ所しか出て来ないので、一番最後に出てくる img src 内に上記属性を付与してやると、ツールチップでエントリー・タイトルが表示される様になる。
その他は忘れちゃってもどうとでもなるかなぁと言う事で、個人的な備忘録。
【追記】
タイトルの文字数については、当初、function.php 内に mb_substr 関数を使ったコードを追加して文字数制限を行っていたけれども、その方法だと、Index テンプレートの title タグの文字数をカットした内容に置き換えるため、Feed に出力されるエントリータイトルの文字数もカットされて出力されてしまう。
それでもまぁ良いんだけど、何だか微妙に嫌なので、Index テンプレート内に直接書き込む事によって、Feed に出力されるエントリータイトルの文字数はカットされないはず…とテストしたら無事回避。
このエントリーのタイトルが無駄に長いのは、それが理由と言う事で (笑)