SimpleViewerをつかって,ブログ上にアルバムをつくる

同期で写真部をつくろうとおもって,いろいろやっている間に,HP上にカッコいいアルバムを表示してくれるツールがあるのみつけました.これを自分のブログでも使おうとおもって,この2,3日いろいろ試行錯誤しました.

使いたいとおもったのが,このSimpleViewerというFLASHで写真を表示してくれるツールです.
デモページがあるのでみてみてください.
SimpleViewer

このSimpleViewerはXMLをちょこっと編集して,写真データがあればすぐに使えます.WordPressだと,そのXMLの編集と画像の加工をすっとばすプラグインもありました.WP-SimpleViewerってやつで検索したらすぐに出てきます.

実はSimpleViewerを使うのは苦労しなかったんですが,WordPressの固定ページの処理でした.

親ページで「Photo」ページをつくって,サブページとして「Gallery」ページをつくり,Photoページ内にサブページ一覧を表示したかったんですが,PHPのことがわからず,断念.自分でリンクを貼ることにしました.

そんなこんなで,できたのがこれ.(上側にある「Photo」ってところからもいけます)
Gallery

たまーに写真追加してく予定です.

写真の撮り方 きほんBOOK ~かわいい、おしゃれをカメラで撮る。~
かくた みほ
毎日コミュニケーションズ
売り上げランキング: 13951

WordPressでmy-hacks.phpを使わない方法

WordPressでは自前のPHPコードをmy-hacks.phpというファイルに書いていたらしいんですが,バージョン2.8からmy-hacks.phpは使わないのがデフォルトになりました。このmy-hacks.phpを代替する必要があったので調べてみました。

ことの発端は,WordPressにメールで記事投稿できるようにするプラグインの「Ktai Entry」をいれようとしたことでした。プラグインのインストール・設定はうまくいったんですが,登録ユーザー以外のメールアドレスを追加しようとしてハマりました。

Ktai EntryのQ & Aにこういうところがあります。
「投稿許可アドレスを別途定義する」

ウェブログ登録ユーザーのメールアドレス以外から投稿を受け付けたいときは、validate_address フィルターを使うと可能です。my-hacks.php に以下のコードを書いてください。$authors 配列は、許可するメールアドレスと対応するユーザー ID を示すものです。適宜修正してください。 function ke_another_author($user_id, $address) {
$authors = array(
‘foo@example.com’ => 1,
‘bar@example.net’ => 4,
);
return isset($authors[$address]) ? $authors[$address] : $user_id;
}
add_filter(‘validate_address/ktai_entry.php’, ‘ke_another_author’, 10, 2);

ここで,my-hacks.phpを使う必要が出てきました。でもよくよく調べると,my-hacks.phpはWordPress2.8以降ではデフォルトで使えない。さらに調べると,my-hacks.phpをプラグインとして,使う方法がありました。

参考「Bye Bye my-hacks.php?」

以下のフォーマットでmy-hacks.phpを書いて,プラグインディレクトリに置くだけでプラグインとして認識されます。

<?php
/*
Plugin Name: my-hacks.php
Plugin URI: http://
Description: my-hacks.php – replacement since WordPress 2.8
Author: DU
Version: 0.1
Author URI: http://
/

/*
* put your hacks here
*/

?>

一番上の部分のコメントのところでプラグインの基本情報を記述します。この部分があると,プラグインのところに表示されます。こんな感じでちゃんとプラグインとして認識しています。
my-hacks.tiff

今回したいのは,Ktai Entryで送信元アドレスを追加することなので,以下のように書いたmy-hacks.phpを作りました。

<?php
/*
Plugin Name: my-hacks.php
Plugin URI: http://
Description: my-hacks.php – replacement since WordPress 2.8
Author: DU
Version: 0.1
Author URI: http://
/

function ke_another_author($user_id, $address) {
$authors = array(
‘hoge@hogehoge.jp’ => 4,
);
return isset($authors[$address]) ? $authors[$address] : $user_id;
}
add_filter(‘validate_address/ktai_entry.php’, ‘ke_another_author’, 10, 2);

?>

これで上手くいくかとおもったら,今度はWordPressの挙動がおかしくなりました。ログインしようとしてもページが更新されなかったり,記事を削除しても,白い画面が出たきり進まなくなったり。原因は自分で書いたmy-hacks.phpの文字コードでした。

sshでレンタルサーバーにログインして,emacsでmy-hacks.phpファイルを作ったんですが,文字コードがなぜかShift-JISになってました。これをデフォルトの文字コード(多分UTF-8)にしました。これでちゃんと動くようになりましたー!!

まとめ
WordPress2.8以降では,my-hacks.phpをデフォルトではサポートしなくなりました。なので,自分でmyhacks.phpをプラグインとして導入する必要があります。上のフォーマットで書いたファイルをプラグインディレクトリ(おそらくはwp-content/plugins)に置いて,プラグインを有効にすれば使えるようになるはずです。このときファイルの文字コードには気をつけてください。

fedoraで.htaccessを有効にするために

FedoraのApacheで.htaccessを使えるように設定したのに,WordPressからは.htaccessを変更できない。
.htaccessファイルのパーミッションもちゃんと666なのに。そんな状態ではまりましたが試行錯誤してなんとかなりました。

解決したんですが,どれがよかったのかがはっきりしません。やったのは,
1.yum updateでカーネルアップデート他,もろもろのアップデート
2.SeLinuxを無効化

この両方をやった後に再起動してみたら,WordPressからの.htaccessの変更ができるようになりました。

一応メモとして。

WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる!
吉村 正春
秀和システム
売り上げランキング: 3665
おすすめ度の平均: 4.5

2 うんっ?
5 基礎と役に立つ情報が満載
5 WordPressのスタートに最適の1冊
5 手元にもっておきたい1冊です
5 充実した1冊です!

Fedoraでhttpのファイアウォールを無効にする

FedoraでApacheサーバーを設定した後に,httpではファイアウォールを無効にする必要があります。これにはまって,Webページが外から見れない状態が続きました。

ファイアウォールを無効にする方法。まず,setupコマンドを起動します。
setupコマンドを起動するとこの画面になるはず。
fedora_firewall1.jpg

この中から「ファイアウォールの設定」を選びます。

次に,信頼できるサービスとして「WWW (HTTP)」を選びます。これでhttpのファイアウォールは無効になります。
fedora_firewall2.jpg

これをしないと,外部からサーバー内のWebページが見れませんでした。

Fedora 10 スタートアップバイブル
大津 真 まえだ ひさこ 向井 領治
毎日コミュニケーションズ
売り上げランキング: 160897
おすすめ度の平均: 4.5

5 進化中のシステムなので
4 詳しく説明してある。
4 初心者ですが、使えるようになりました。

WordPressのメッセージループってなんだ?

AddClipsというブログツールを使おうとしてかなり悩ましいことになりました。

埋め込むためのスクリプトはすぐにできたんですが,これをどこに埋め込んでいいのかがよく分からない。 AddClipsのページにはこう書いてあります。

※以下のコードは、WordPress専用コードになります。WordPressテンプレートの「メッセージループ内」に埋め込み下さい。WordPress専用コードが正常に使えない場合や、トップページ用ボタンを作成する場合は、ウェブサイト用AddClipsコードをお使い下さい。

「メッセージループ内」がどこか分かりません。Googleで調べてもはっきりしたことは分かりません。個別のテンプレート毎にここだというのはあるんですが,一般的にどこなのかが全く分かりません。

試行錯誤してなんとかボタンが表示できるようにしました。以下その結果。

index.phpとsingle.phpの両方を編集しました。index.phpはサイト全体の構成で,個別の記事を表示した状態はsingle.phpで設定が変わりました。どちらのphpに対しても共通してやったことは,<div class=”entry”>・・・</div>の下にスクリプトを埋め込んだことです。

こうすることで,本文の下にAddClipsのボタンを埋め込むことができました。ただ,個別記事を表示したときは「関連記事」の下にボタンが表示されています。この「関連記事」がphpコードのどこの部分に該当するのかがよく分からないので,そのままです。もう少しphpがわかるようにならないと設定できないと思います。

なんとかブログツールを表示するという目的は果たしたんですが,メッセージループがどこの部分なのかは分からないままです。ご存知の方は教えていただけませんでしょうか。