お知らせ

Movable Type プロフェッショナル・スタイル MT4.1対応 2008年4月8日

Movable Typeプロフェッショナル・スタイル」が発売されました。
Movable Typeの第一線に関わる人々の共著で、Movable Typeをビジネスサイト構築に活かすテクニックが満載です。
Movable Typeでサイト構築を行っているWeb制作会社等の方々にお勧めです。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

カスタムフィールドのHTMLを記事に挿入するプラグイン

| コメント(0) | トラックバック(0)

WordPressでは、記事の文章は自動的に整形されるようになっています。
それによって、記事内の改行が<br />タグに変換されるなどの処理が行われます。

ただ、この機能が邪魔になることもあります。
たとえば、記事内にJavaScriptを入れた場合、JavaScript内の改行が<br />タグに変換されたり、「’」が数値実体参照に変換されたりしてしまい、JavaScriptが動作しません。

検索してみたところ、自動整形を止めるプラグインはいくつかありましたが、いまいち私の希望する動作ではありませんでした。
そこで、自分でプラグインを作ってみました。

1.プラグインの概要

WordPressには「カスタムフィールド」という機能があり、記事に任意のフィールドを追加することができます。
このプラグインでは、カスタムフィールドに任意のHTMLを入れ、そのHTMLを記事に流し込むという仕組みをとります。

記事内の通常の文章は、従来どおり自動整形が行われます。
一方、カスタムフィールドを流し込む部分は、自動整形を行いません。
必要な箇所だけ自動整形を止められることになります。

2.プラグインのインストール

まず、以下のリンクをクリックして、プラグインをダウンロードします。

ContentEx_1_00.zip

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。

ファイルを解凍すると、「contents_ex.php」というファイルができます。
このファイルを、WordPressの「wp_content」→「plugins」ディレクトリにアップロードします。
そして、WordPressにログインし、「プラグイン」のページで「ContentEx」プラグインを有効化します。

↓プラグインの有効化
プラグインの有効化

3.テンプレートの書き換え

次に、テンプレート内の「the_content」タグを、「the_content_ex」に置き換えます。
単純に置換すればOKです。

4.記事のカスタムフィールドにHTMLを入れる

次に、自動整形を部分的に止めたい記事で、その部分(JavaScriptなど)を記事のカスタムフィールドに入力します。

まず、カスタムフィールドの名前を自分で決めて、「キー」の欄に入力します。
そして、「値」の欄にHTMLを入力します。

また、HTMLの中にJavaScriptを含む場合は、「キー」に「js」、「値」に「1」を入力したカスタムフィールドも追加します。

以下の例は、拙作のGoogle Maps導入支援ページのコードを、カスタムフィールドに貼り付けた例です。

↓カスタムフィールドの追加例
カスタムフィールドの追加例

5.記事にカスタムフィールドのHTMLを流し込む

次に、その記事の本文中に、カスタムフィールドの値を流し込むために、以下のような記述を入れます。
なお、この記述の前後には空の改行を入れます。

{{insert_meta カスタムフィールド名}}

たとえば、カスタムフィールドに「google_maps」という名前をつけた場合、以下のような記述を入れます。

{{insert_meta google_maps}}

↓{{insert_meta カスタムフィールド名}}の記述例
{{insert_meta カスタムフィールド名}}

トラックバック(0)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/913.

WordPressによるHTMLの自動整形機能は、鬱陶しいことで有名である。クォーテーションの置き換えに始まり、pタグの自動挿入やら、iframe... 続きを読む

MacOSXのようなダイアログをページ内に表示する、 ModalBoxの改造記事を書こうと思ったんだけど、 WordPressで記... 続きを読む

コメントする