WordPressテーマの更新

ここ1週間WordPressのテーマを作っていたので、肝心のブログの中身に手をつけていませんでした:oops:。

今まで使っていたWP-Andreas01というテーマも気に入ってはいたのですが、Google AdScenceやAmazonアソシエイト等のアフィリエイトを入れるとなると3コラムのブログだと横幅不足になりがちで、詰まり過ぎて見難い印象があったのと、色々後付けしていったせいで自分としてはまとまりや構成に不満があった為、どうせなら1からデザインをしてしまおうという事になりました 🙂

いままでのWP-Andreas01の色は彩度が多少低めの色でまとまっていて、デフォルトで付いている画像も夜の雪景色だった為、クール目の印象を受けると共に少し物悲しい印象を受ける部分もあったので、もう少し明るめの色でまとめて、もう少しシンプルでゆとりのある見た目にしたいと思い、このデザインになりました。

サイトの大枠のデザインは1~2日ほどで固まってきたのですが、なにぶんXHTMLのコーディングが久しぶりだったことと、WordPressのテンプレートタグをまったく知らなかったのに加えて、ブログ自体のページ構成を考えるのが始めてで、細かい配置などに四苦八苦してしまいました。

まだ細かいところの修正がたくさん残っている状況なのですが、細々と修正を続けていくつもりです。また、このページはアクセス解析からXGA以上の解像度でも問題なさそうだったので横幅は980pxになっていますが、このテーマの修正が一段落したらこれを元にSVGAサイズに合わせたテーマを公開しようかと考えています(使って頂ける方がいるかどうかはわからないですケド)。

ちなみに、今回のテーマ作りに以前買ったままでいた、
WordPressでつくる! 最強のブログサイトWordPressでつくる! 最強のブログサイト
を主に参考にしました。

ただ、テーマの更新に主眼を置くとちょっと物足りない部分などもあったので、先月末に発売された
WordPress標準ガイドブック―導入&基本操作からフルチューンまでWordPress標準ガイドブック―導入&基本操作からフルチューンまで
がテーマ作りにはかなり参考になりそうな感じなので、早速本屋に立ち読みしに:!:行こうかと思っています。

Wp-MixiPublisher 1.0.0 RC2 一部コードの修正も兼ねてテスト

yujilogさんのページで公開・配布されているWp-Mixipublisher 1.0.0 RC2ですが、wordpress上でリンクにhrefオプション以外にtargetオプションやtitleオプションを付けるとmixiにリンクがうまく貼れないという場合がありました。

そこで、少しソースコードの方を調整してみましたので投稿のテストも合わせて修正部分を公開してみます。

尚、ソースコードの修正やそれに伴う不具合等は自己責任でよろしくお願いします、万が一の為に元のファイルはバックアップしておいてください。

今回の修正してみた部分ですが、

  • hrefオプションの前にtargetオプション等が有る場合もリンクを抽出できるように改変
  • オプションの引用符が「”」(ダブルクォーテーション)ではなく、「’」(シングルクォーテーション)の場合もリンクを抽出できるように改変
  • hrefオプションの値が空の場合(href=”” mce_href=””とhref=”の場合)、アンカータグ内のコンテンツのみを表示するように改変

となっています。
実際の修正箇所ですが、Wp-Mixipublisherのフォルダにある「wp-mixibulisher.php」の134行目から始まる、

$content = preg_replace_callback(
'/<a\s+href="([^"]+)"[^<:>]*>((?:(?!<:\/a>).)+)<\/a>/', create_function(
'$matches',
'$matches[1] = strpos($matches[1], "/") === 0 ? get_settings("siteurl").$matches[1] : $matches[1];'.
'return $matches[1] == trim($matches[2]) ? $matches[2] : $matches[2]."(".$matches[1].")";'
), $content);

という部分を、

$content = preg_replace_callback(
'/<a[^<>]+href=["|\']([^"|~\']*)["|\'][^<:>]*>((?:(?!<\/a>).)+)<\/a>/', create_function(
'$matches',
'$matches[1] = strpos($matches[1], "/") === 0 ? get_settings("siteurl").$matches[1] : $matches[1];'.
'if(empty($matches[1])){
return $matches[2];
}else{
return $matches[1] == trim($matches[2]) ? $matches[2] : $matches[2]."(".$matches[1].")"; }')
, $content);

へ書き換えて、アップロードしてください。

またこの変更で不具合などがありましたらコメントに投稿してください。

[10.24] 一部ソースコードのエンティティが間違っておりました。

Wp-MixiPublisher 1.0.0 RC2 インストール

およそ1月前に確認していましたが、結局アップデートしないままでいたWordPressのmixi向けplugin、Wp-MixiPublisher 1.0.0 RC2をやっとインストールしました。

前回同様、このブログは文字コードがUTF-8ではなくEUC-JPなので、テキストエディタでさくっと文字コードを変換し、WordPressのpluginフォルダに上書きし、設定はそのままで使用しています。

既にブログに投稿済みで、mixiに投稿されていない記事の場合にはデフォルトで投稿されないようになっているなど、過去の記事をちょくちょく手直しする自分にとっては役に立つ機能も追加されており、さらに使い勝手の良い機能が加わったという感じです。

ただ、リンクが付いている記事の場合にいくつかの不具合があるようで、アンカータグ内のオプションが、

<a href="リンクURL">リンク名</a>

となっている場合は正しく投稿できるのですが、以下のようなtitleオプションやtargetオプションがついた場合にうまくmixiにてリンクが正しく表示されない模様です。

<a title="リンクタイトル" href="リンクURL">リンク名</a>

ですので、現時点では一度mixiで投稿しても問題ない状態で投稿した後、再度mixiへの投稿のチェックを外した状態で記事を再編集しています

また、ソースコード一通り見た感じでは、恐らくアンカータグの抽出部分でhref以外のオプションがあった場合にその部分が残ってしまい、うまく投稿できていないような気がしますが、いかんせん自分は正規表現がからきし&PHPちょっと苦手なので、正規表現のマニュアルとPHPリファレンス片手にもうちょっと詳しくソースコードを追いかけてみたいと思います。

[追記 06.10.24]

このリンクの問題を解決する為にソースコードをいじってみました。
コードの修正部分については、別記事のWp-MixiPublisher 1.0.0 RC2 一部コードの修正も兼ねてテストに掲載しておきました。

Wp-MixiPublisherを導入してみる

WordPress用プラグイン、「wp-MixiPublisher」を導入してみました。

ブログを設置してからというもの、mixiの日記は全くといっていいほど手をつけていませんでしたが、このプラグインでmixiに記事の概要を同時に投稿できるので、mixiの日記に気をかけないで済むかなと・・・ :)。後日記と連動することでこっちに人を誘導できるかなと思っています。

ただ、今立ち上がっているブログの文字コードがEUCに設定してあるので、最初プラグインをインストールした時に文字化けが発生していました(プラグインスクリプトはUTF-8でした)。ただ単にソースコードをUTF-8からEUCにコード変換しただけなので、正しく動いてくれるかが心配です…

【追記】
エンコード変換をすれば文字化けもなく、普通に動作している模様です。