拙著「WordPress Web開発逆引きレシピ」が発売されました。
WordPressの様々なカスタマイズについて、逆引きの形式で取り上げています。
PHP 7.0での動作確認も行っています。
Personal Computer, Financial Planning, etc...
2024年2月1日 拙作プラグインの譲渡について
拙作のMovable Typeのプラグインを、株式会社ワールドイズマインに譲渡いたしました。
長きにわたり拙作のプラグインをご愛顧いただき、ありがとうございました。
拙著「WordPress Web開発逆引きレシピ」が発売されました。
WordPressの様々なカスタマイズについて、逆引きの形式で取り上げています。
PHP 7.0での動作確認も行っています。
レンタルBlogサービスの中には、「秘密のコメント」という機能があるところがあります。
Blogの管理者だけにコメントが見えるようにして、一般には公開しない機能です。
この機能をMovable Typeのプラグインで作ってみました(ただし、Movable Type 3.2以降が必要です)。
2007年2月13日
不具合がありましたので修正しました。申し訳ありません。
バージョン1.01以下をお使いの方は、こちらのページの手順に従って、バージョン1.10に差し替えてくださいますようお願いします。
Movable Type 3.2では、機能の追加に伴って、データベースにいくつかのフィールドが追加されています。
投稿者の設定の画面に「システム管理者」というチェックボックスがあり、それがオンになっている人は、投稿者を追加したり、他の投稿者の権限を設定したりなど、システムの管理を行うことができます。
システム管理者かどうかは、投稿者(author)テーブルに追加された「is_superuser」というフィールドに保存されます。
ところが、Movable Type 3.2にバージョンアップする際に、状況によってこのフィールドの値が正しく設定されず、システム管理ができなくなってしまうことがあります。
システム管理ができないと、上記の設定を行えない他、StyleCatcherやMT-Notifierのプラグインの設定ができないなどの問題が起こります。
参照:
そこで、特定の投稿者をシステム管理者にするCGIを作ってみました。
Movable Typeでは、1つのエントリーを複数のカテゴリーに割り当てることができます。
また、そのうち1つを主カテゴリーにし、残りは副カテゴリーにすることもできます(主カテゴリーをなしにして、全部を副カテゴリーにすることもできます)。
しかし、Movable Typeの標準のテンプレートタグでは、主カテゴリーと副カテゴリーを区別して出力するものがありません。
MTEntryCategoryタグを使うと、主カテゴリーの名前(ラベル)を出力することができますが、その他の情報は出力できません。
また、MTEntryCategoriesタグを使うと、エントリーの全カテゴリーが文字コード順に出力され、主/副を区別することができません。
そこで、主カテゴリーと副カテゴリーを区別して出力するようなプラグインを作ってみました。
Blogが一般化するにつれて、コメントやトラックバックを使ったスパムが増えました。
Movable Type 3.2ではスパム対策機能が強化され、プラグインを追加することでさまざまなスパム対策ができるようになっています。
スパムの中では、海外から送信されてくるものが多いです。
そこで、Movable Type 3.2以降用に、日本語を含まないコメントやトラックバックをスパムとみなしてフィルタリングするプラグインを作ってみました。
最近のトラックバックをエントリーごとにまとめて出力するプラグインとして、以下の2つを公開しています。
これらのプラグインを、Movable Type 3.2に対応させました。
Movable Typeでは、エントリーの本文/追記の中の改行を自動的に変換する機能があります。変換は以下のように行われます。
普通に文章を入力するだけなら、これでほぼ問題ありません。
しかし、以下のようなときに問題があります。
そこで、より便利な改行変換を行うプラグインを作りました。
2005年12月19日 MySQL/PostgreSQL/SQLite全対応版を公開しました。こちらをお使いください。
以前に、「再構築を不要にするカスタマイズ(Perl版ダイナミック・パブリッシング)」を公開しましたが、それを改良しました。
これまでは、ページにアクセスがあるたびに、そのページを動的に再構築していました。
しかし、これだとWebサーバに負荷がかかりますし、またページの表示にも時間がかかります。
そこで、ページをキャッシュするようにしました。
再構築したページはキャッシュに保存し、Blogに何か変更が加わるまでは、キャッシュからページを読み込んで表示するようにしました。
なお、「Bl;ogの変更」とは、以下のような場合を指します。
・エントリーを編集する
・コメントやトラックバックを受信する
・テンプレートを変更する
ページをキャッシュすることによって再構築の回数が減り、Webサーバの負荷が下がります。
また、キャッシュに入っているページは、通常のHTMLとほぼ同程度の速度で表示されます。
キャッシュの分だけWebサーバーのディスク容量を消費しますが、キャッシュの容量は自由に設定できるようにしてあります。
以前にプレビューを行うプラグインを公開しましたが、Movable Type 3.2対応(英語版β5で動作を確認)と、BIGPAPI対応を行いました。
新版のファイルは以下からダウンロードすることができます。
インストールの手順は、一部を除いて以下のエントリーの通りです。
エントリーのプレビューを行うプラグイン(その1)
エントリーのプレビューを行うプラグイン(その2)
インストール手順の変更点は、以下の2箇所です。
BigPAPIに対応したので、BIGPAPIをインストールすることが必要になります。
BIGPAPIの概要やインストールについては、こちらのエントリーを参照してください。
一方、BIGPAPIに対応したことで、edit-entry.tmplファイルを書き換える必要がなくなりました。
したがって、エントリーのプレビューを行うプラグイン(その2)の手順のうち、「9.edit_entry.tmplにJavaScriptを追加する」と「10.edit_entry.tmplにPreviewボタンを追加する」の手順が不要になります。
なお、旧版はMovable Type 3.2では動作しませんでした(設定ページを開こうとすると、読み込みが止まってしまいます)。
旧版をお使いの方は、Movable Type 3.2にバージョンアップする際に、このプラグインも一緒にバージョンアップされると良いと思います。
なお、旧版をお使いの方で、今すぐバージョンアップしたいという方は、edit-entry.tmplの書き換えを元に戻してから、新版のファイルをアップロードしてください。
2005年12月19日 MySQL/PostgreSQL/SQLite全対応版を公開しました。こちらをお使いください。
再構築を不要にするカスタマイズ(Perl版ダイナミック・パブリッシング)に、「カテゴリーアーカイブと日付アーカイブで、下書きのエントリーも表示されてしまう」という不具合がありましたので、修正しました。
不具合をご指摘いただいたasiamothさん、ありがとうございました。
新版のファイルをダウンロードして解凍し、これまでのファイルと差し替えていただくことで動作します。
なお、新規に導入される方は、以下のエントリーをご参照ください。
再構築を不要にするカスタマイズ(Perl版ダイナミック・パブリッシング)
再構築不要化カスタマイズ(セキュリティホール修正)
先日、Perl版ダイナミック・パブリッシング用のページ分割プラグインを紹介しました。
このプラグインをインストールすると、多数のテンプレートタグが追加されます。
今回は個々のタグの書き方を解説します。