WordPress

WordPressのページ機能を活用。

2010.12.19 / Notes

WordPressには通常の投稿以外に、固定ページを作成するためのページ機能があります。
通常の利用では投稿した記事ページとあまり差がないようですが、テンプレートを切り替えることで、ページ機能の使い道の幅が広がります。

 

ページ機能で作成したページすべてに利用するためのテンプレートは「page.php」となりますが、各ページ個別にテンプレートを切り替えるには、ページスラッグを後に続けて「page-one.php」「page-two.php」となります。
WordPress
ページ機能テンプレートの本来の使い方は、WordPressの投稿フォームで入力した内容を自由なデザインで表示するためのものですが、WordPressでの入力内容を全く利用せずに、純粋なPHPページを表示するという使い方もあります。
WordPressで用意されているテンプレートタグ「the_title()」「the_content()」を使わないで、直接ページ機能テンプレートに内容を記述していきます。

 

例えば全画面フラッシュのページなど、投稿フォームでは作成が難しい場合や、他のプログラム用にXML出力ページに有効です。
もちろんページ機能テンプレート内ではWordPressのテンプレートタグも使えるので、より柔軟な静的サイトの作成に応用できます。

WordPress 3.0にアップグレード。

2010.06.23 / Notes

WordPress 3.0 日本語版が公開されていたので、2.9.2からアップグレードしました。
アップグレードはデータベース等のバックアップを取ったのちに、管理画面から自動アップグレードにて行いました。
プラグインもいくつか使っていますが、アップグレード後も特に問題なく動作しています。
一般ユーザー向けにはそれほど目立つ新機能はないようですが、テーマ作成における強化、 WordPress MUとの統合はなかなか魅力的です。

WordPressで登録ユーザーのみに閲覧を制限する方法。

2010.05.05 / Notes

サイト全体、または一部のページに対して、登録ユーザーのみに閲覧を制限したい場合には、テーマのテンプレートファイル内に、次のコードを追加します。

ログインしていない状態で該当するテンプレートのページを開こうとした場合、ログイン画面に移りユーザー名、パスワードの入力を求められます。
そこでログインするともとのページにリダイレクトされ、ページの閲覧が可能になります。
「is_page()」「is_category()」などと組み合わせると、必要なページのみに制限をかけることができます。

カスタムフィールドを簡単に扱うプラグイン。

2010.01.28 / Notes

WordPressで本文のほかに追加情報を扱えるカスタムフィールドを簡単に扱えるプラグイン、Get Custom Field Valuesの使い方です。
テーマのテンプレート内で「value」という名前を付けたカスタムフィールドを出力するには、次の様に記述します。

初めの「function_exists」では、Get Custom Field Valuesのプラグインが有効になっているかどうかを確認して、有効の場合は「value」のカスタムフィールドの有無を確認して出力します。
このサイトでも応用していますが、記事リストでのサムネール画像の表示などに使うと便利です。

 

Get Custom Field Valuesプラグインページ

WordPressで記事のXMLを出力。

2010.01.16 / Notes

テンプレートWordPressのページ機能を使って、投稿記事の情報をXMLに書き出す方法です。
WordPressのページ機能は、主に固定ページを扱うために用意されていますが、表示テンプレートをコントロールすることで、投稿記事のリストを動的にXMLで出力することもできます。

ページのテンプレート変更には、使用しているテーマのフォルダにテンプレートファイルを入れることで、ページ編集画面の「属性」から切り替えが可能になります。

次のコードは最近の記事10件のタイトル、抜粋、リンクをXMLで出力するテンプレートです。

テンプレートの作成で注意する点は、WordPressにテンプレートファイルであることを認識させるために、コードの先頭にコメントで「Template Name」を記述する必要があります。これにより、編集画面で選択が可能になります。テンプレートのファイル名は特に指定はありません。

WordPressの記事をXMLで出力することで、FLASHコンテンツ内で表示したりなど、他のコンテンツとの連携がやりやすくなります。