Plugin:repWord 0.1
2007/01/29 22:37. Comments(0)
データベースの内容自体は書換えずに特定の語を置き換え表示する、WordPress用プラグインを作ってみました。
初めて書いたPHPであり(危なっかしい)、しかも使用するには確実にPHPファイル自体を手動で書換えてやる必要があるという事で、バージョンは0.1です。
1.0ではないのですよ。
ファイルとして配る様なものでもないので、記事にそのままソースを載せておきます。
以下のソース通りだと、記事中に書いた
{terms01}と{terms02}が、それぞれ、RTP(XP)とオリジナルの素材使用規約へのリンクに置換されて表示される訳です。
リンク等のソースは、PHPを書換えれば(データベースを全置換しなくても)一括変更出来ます。
WP-AddQuicktagとの連携とか、ブラウザでのキーワードと検索対象文字列の管理が出来ると便利なんでしょうねえ。
wp-content/plugins/repWord/repWord.php
<?php session_start();
/*
Plugin Name: repWord
Plugin URI: http://www.eveningprayer.net/archives/177
Version: 0.1
Description: データベースの内容自体は書換えず、特定の語を置き換え表示します。「テンプレートではオーバーだが、後で記事修正をするには多すぎる」という、微妙な使い回し部品向けです。
Author: Hajime Yato
Author URI: http://www.eveningprayer.net/
*/function repWord01($content)
{
$after_01=’<p class=”caution”>この画像は<em>ゲーム用素材(RPGツクールXP:RTP準拠)</em>として公開されています。<a href=”http://www.eveningprayer.net/about-this-site/terms-of-use/” mce_href=”http://www.eveningprayer.net/about-this-site/terms-of-use/”><em>規約</em></a>をお読みの上で御利用下さい。</p>’;
return preg_replace(’|{terms01}|’,$after_01,$content);
}function repWord02($content)
{
$after_02=’<p class=”caution”>この画像は<em>ゲーム用素材(オリジナル)</em>として公開されています。<a href=”http://www.eveningprayer.net/about-this-site/terms-of-use/” mce_href=”http://www.eveningprayer.net/about-this-site/terms-of-use/”><em>規約</em></a>をお読みの上で御利用下さい。</p>’;
return preg_replace(’|{terms02}|’,$after_02,$content);
}add_filter(’the_content’,’repWord01′,1);
add_filter(’the_content’,’repWord02′,1);
?>
ローカルテスト環境
2007/01/28 01:35. Comments(0)
WordPressのローカルテスト環境を作る時に留意する事幾つか。
ダウンロードするものが無くなったら、回線を切ってウイルスバスター等のセキュリティソフトを無効にしておかないと、WordPressのインストールが最後の最後で何時まで経っても終わらない(通常なら数秒で終わる筈)。
そして、インストールの時にEUC-JPを選ばないと、最終的にインストールをやり直す羽目に陥るという罠。インストール自体は恙無く終わっても、ログイン出来ないから。
普通にウェブサーバで設定する時には引っ掛からない部分なので、WindowsXPの環境が影響しているんでしょう。
テンプレートを思い切りいぢり回したかったので、パソコンにApacheとPHPとMySQLとphpMyAdminをインストールし、WordPressがローカルで動作する様にしてみました。
Apacheについては、本の通りに設定を書き換える程度で比較的楽に終わりました(インストールディレクトリが違うので、其処は置換)。
※最初、マイドキュメントの中の日本語名フォルダにブチ込もうとしてわたわたしたのはヒミツ。
mbstring PHP 拡張は見つかりませんでした。また、マルチバイト文字セットを使用しているように見えます。phpMyAdmin は mbstring 拡張なしでは文字列を正確に分割することができず、また、予期しない結果が返ってくるかもしれません。
上記の様なエラーメッセージがphpMyAdminで表示されるは、WordPressのインストールでエラーは出るは…何か一杯あったので、正直、個々の詳細は忘れました。
取り敢えず、php.iniの「mbstring.internal_encoding
= EUC-JP」を生かしてから再起動した処、何とかなったので良しとします。
理屈は解っていません(駄目)。エンコード関係だからでしょうか。
普通に本の通り、設定もデフォルトを選んで進む人なら、ここまで問題起こさずにあっさりと環境が出来ている様な気がします。
書き換え済み設定ファイルとか、CDに入っている位だし。
さて、環境は出来たので、いろいろ遊んでみます。
記事先頭段落のみのドロップキャップ
2007/01/25 20:44. Comments(0)
1つの記事があり、記事の中に幾つかの段落があるとします。
その最初の段落の先頭の文字だけを大きく表示したい場合にどうすればいいのか?
所謂ドロップキャップという奴です。全ての段落がこんな処理だとちょっと厳しいので、最初だけにしたいという寸法。
…CSSでは、「最初の段落」又は「最初の文字」(OR条件)を自動的に判別する事が可能なのですが、「最初の段落」且つ「最初の文字」(AND条件)を指定する事が出来ません。少なくともCSS2では無理。
よって、先頭の段落だけにクラスを指定し、最初の文字を大きくしてやるしか方法はなさそうです。
意外と簡単な方法で可能でした。
そのクラスを指定するタイミングは?
記事をmoreで切る部分かな、と。記述の度に手でpにclassを書くのは正直面倒臭くて適わないですし。テンプレートで何とかなるでしょうか。
この方法の場合、more以前に使用できる段落は基本的に1つだけだという事になります(複数でもいいけれど、範囲内全ての段落の先頭文字がドロップキャップする)。
ま~ライティングの基本として、最初に概要を書けというのがありますから、リスト段階で見せるのは概要段落だけなんだというルールでゆけばいいだけですかね。過去の記事もちょっと見直す必要があるかもな(汗)。
テンプレートの中で、ドロップキャップを適用したいpが、何かクラスの付いたタグの直後になる様にレイアウトを変更し、その(クラスの付いた)タグの弟要素の先頭文字を指定…とやれば済む話でした。
複雑に考えてはいけませんね。
p.meta+p:first-letter{
font-size:300%;
font-weight:bold;
color:#666666;
float:left;
}
テーマ入替の罠
2007/01/25 20:14. Comments(0)
何となく導入しているgoogleAnalyticsがどうにも変だと思っていたら、wordpressのプラグインがタグを書き出していませんでした。
何故プラグインが書き出してないのかと思ったら、現在のサイトデザインの為の元にしたテーマの中に、書き出しの為のタグが入っていなかったというオチ。
仕組みを理解せずに利用していると、こういう事が間々ありますねえ。
それにしても訪問者0というのはありえない訳で(検索エンジンが巡回するからな!)、もう少し早く原因を調べても良さそうなものですけれども。
自分の暢気さに吃驚です。
仕事では(まだ)危なっかしくて使っていない諸々を趣味で実験している面もあるので、失敗の蓄積は結構貴重なんですよねと前向きに評価してみたり。
今度の休みに、テーマファイルをちゃんと改造したいです。土曜は仕事ですけど。
ペン入れ確認
2007/01/24 20:43. Comments(0)
セットはこれでいいかな、程度になりましたので、今度は実際にペン入れをしてみました。
今回は気分転換に、細くて硬いペンで、線を一杯描き込む方向。
暫くまともな更新がなかったので、テスト画像ですが載せてみます。

コレくらいでいいかと思っていたのですが、人間の描画をすると線が太くなりすぎて気分良く描けないのが判明。
下書きの時点で一度解像度を上げてやらないといけませんね。
とはいえ、濃い線でも素材サイズに縮小すればこうなってしまったり。

色を塗った後の素材化の時点で色々調整しなければならないのには違いない様です。
色を乗せるにはちょっと黒いな………セピア程度に落としてもちょっと。
ピコーン!(AA略)
主線と影のハッチのレイヤを別にしてやればいいじゃないか。
色は同じで良いから透明度を変えて、こいつを乗算だ。
ま、どのみち解像度は上げないといけないけどな。
濃いセピアで主線、薄いセピアで輪郭補助と濃い影、鈍い薄青で明るい影、か。そんなところかな?