- 赤色のリンクは、まだ日本語Codex に存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
- この Wiki はいつでも誰でも編集できます。ログインアカウントの取得からどうぞ :)
- 5月23日に MySQL 4.0 → 5 へ移行しました。動作不良等があればご一報ください (連絡先)
プラグインとテーマの 2.1 への移行
出典: WordPress Codex 日本語版
WordPress をバージョン 2.1へアップグレードするとき、そのままでは使えないテーマやプラグインがあるかもしれません。2.1 では抜本的な変更がなされたため、そのプラグイン・テーマは全く動作しない可能性もありますが、設定の更新やほんの少しの修正によって、使えるようにできるかもしれません。
他の誰かが開発したテーマやプラグインを使っているのなら、次のページに情報が載っています。
- プラグイン・テーマの配布ページ
- WordPress 2.1 プラグイン互換性リスト
- WordPress 2.1 テーマ互換性リスト
あなたがテーマ・プラグインの作者であるか、自分で変更・カスタマイズをした場合、以下に、2.1 対応にアップグレードするための情報があります。テーマ・プラグインを一般に配布している場合、動作するようになったら、2.1 で使えることや動作するバージョンをユーザが確認できるよう、上記互換性リストに追加するといいでしょう。
テーマ・プラグインのアップグレードの第一歩は、WordPress 2.1 の変更点を理解することです。概要は WordPress 開発ブログの バージョン2.1 リリース記事 に載っています(この和訳は追加資料参照)。変更された機能をプラグイン・テーマが利用しているなら、変更点をさらに詳しく確認する必要があります。
WordPress 2.1 におけるとても重大な変更は、WordPress のデータベース構造です。2.1 での一番の変更は、リンク(ブログロール)と投稿記事のカテゴリが一つのテーブルに統合されたことです。そのため、プラグインの中で、リンク/記事カテゴリテーブルに関して何か行なっている場合、それを修正する必要があります。
また、WordPress ユーザが以前のバージョンからアップグレードするとき、アップグレードスクリプトはブログロールカテゴリのデータを記事カテゴリテーブルにマージします。記事カテゴリとブログロールカテゴリは同じ ID になれない(一つのテーブル内で ID は一意となる)ので、ブログロールカテゴリの ID 番号は、アップデート中に新しい番号に付け替えられることになります。そのため、テーマやプラグインで、特定のブログロールカテゴリについて、その ID 番号で何か処理している場合は、その ID 番号を新しいものに直さなければなりません。新しい番号を知るには、WordPress 管理パネルのカテゴリセクションで一覧を見ます。
もう一つの DB の変更点は、"posts" テーブルに "post_type" という新しいフィールド(項目)ができたことです。プラグインの中で、投稿記事と WordPressページを識別するのに使えます。これは互換性の問題にはなりませんが、ロジックの改良として、プラグインを直すとよいでしょう。
コア WordPress ファイルの多くは、再編成されたり、バージョン 2.0.x と 2.1 とでファイル名が変わったりしました。ほとんどのテーマやプラグインでは問題にはなりませんが、特定の WordPress 関数へのアクセスが必要なプラグインでは、その関数が定義されていることを確認するために、具体的な PHP ファイル名をロードしているかもしれません。使用する関数が新しいファイルに置かれるようになった場合、参照先を変更する必要があります。
訳注: ちなみに、この「ファイル再編成・リネーム」のため、2.0.x 系からのアップグレードは、従来のような上書きアップロードではなく、一部のファイルを除いて一旦削除した上でアップロードする必要があります。参照: WordPress のアップグレード
プラグインやテーマの中で、WordPress の以前のバージョンに存在していたが今後廃止されていく「非推奨」な関数やグローバル変数を使っているかもしれません。これらは、WordPress の将来のバージョンで警告なしに削除される可能性があるので、プラグインやテーマの中で使うのを止めるようにしてください。
あなたのテーマとプラグインをチェックして、替わりのものに書き換えるのはいいことです。
非推奨な関数の(きっと完全な)一覧(過去バージョンで非推奨になっていたものも含む)。代替関数の提示付き(間違いがあったら遠慮なく編集して!):
- dropdown_cats
- get_archives
- get_author_link (use get_author_posts_url)
- get_autotoggle
- get_linkobjects (use get_linkz)
- get_linkobjectsbyname (use get_linkz)
- get_linkswithrating
- get_linksbyname
- get_linksbyname_withrating
- get_postdata (use get_post)
- get_settings (use get_option as direct replacement)
- link_pages
- list_authors
- list_cats (use wp_list_categories)
- next_post (use next_post_link)
- previous_post (use previous_post_link)
- start_wp
- the_category_ID
- the_category_head
- tinymce_include (use wp_print_scripts or WP_Scripts)
- user_can_create_draft (use current_user_can)
- user_can_create_post (use current_user_can)
- user_can_delete_post (use current_user_can)
- user_can_delete_post_comments (use current_user_can)
- user_can_edit_post (use current_user_can)
- user_can_edit_post_comments (use current_user_can)
- user_can_edit_post_date (use current_user_can)
- user_can_edit_user (use current_user_can)
- user_can_set_post_date (use current_user_can)
- wp_get_linksbyname
- wp_get_post_cats
- wp_list_cats (use wp_list_categories)
- wp_set_post_cats
非推奨となったグローバル変数は次のとおり:
- $tableposts (use $wpdb->posts)
- $tableusers (use $wpdb->users)
- $tablecategories (use $wpdb->categories)
- $tablepost2cat (use $wpdb->post2cat)
- $tablecomments (use $wpdb->comments)
- $tablelinks (use $wpdb->links)
- $tablelinkcategories (does not exist - all categories are in the main categories table now, and there is not a separate link categories table)
- $tableoptions (use $wpdb->options)
- $tablepostmeta (use $wpdb->postmeta)
テーマとプラグインを WordPress 2.1 対応にアップグレードするのに役立ちそうな記事のリスト:
- WordPress Development Blog article on the release of Version 2.1
- WordPress Codex article on Version 2.1
- WordPress Blog article "Is Your Plugin Naughty or Nice"
- テンプレートタグ - テーマで使用するテンプレートタグの一覧。WordPress バージョンによる非推奨・新規タグ情報を含む。
- Lorelle's article on Template Tag updates for 2.1
- Lorelle's article on upgrading to 2.1
- Lorelle's article on fixing a broken blog
- Mark Jaquith's article on Authorization and intention/origination verification when using the edit_post hook - タグやカスタムフィールドで特別なことを行なうプラグインの作成への影響
- power source* » WP: WordPress 2.1 アップグレード用リンク集 -- 文章中やこのリストに登場する記事の和訳ページへのリンクもあり(後で転記予定)。
原文・最新版: WordPress Codex » Migrating Plugins and Themes to 2.1
カテゴリ: 上級トピック | WordPress の開発 | プラグイン | デザインとレイアウト | テンプレートタグ | wp2.1

