• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

プラグインとテーマの 2.1 への移行

提供: WordPress Codex 日本語版
移動先: 案内検索

WordPress をバージョン 2.1へアップグレードするとき、そのままでは使えないテーマやプラグインがあるかもしれません。2.1 では抜本的な変更がなされたため、そのプラグイン・テーマは全く動作しない可能性もありますが、設定の更新やほんの少しの修正によって、使えるようにできるかもしれません。

他の誰かが開発したテーマやプラグインを使っているのなら、次のページに情報が載っています。

あなたがテーマ・プラグインの作者であるか、自分で変更・カスタマイズをした場合、以下に、2.1 対応にアップグレードするための情報があります。テーマ・プラグインを一般に配布している場合、動作するようになったら、2.1 で使えることや動作するバージョンをユーザが確認できるよう、上記互換性リストに追加するといいでしょう。

テーマ・プラグインの修正

テーマ・プラグインのアップグレードの第一歩は、WordPress 2.1 の変更点を理解することです。概要は WordPress 開発ブログの バージョン2.1 リリース記事 に載っています(この和訳は追加資料参照)。変更された機能をプラグイン・テーマが利用しているなら、変更点をさらに詳しく確認する必要があります。

コア WordPress DB の変更点

WordPress 2.1 におけるとても重大な変更は、WordPress のデータベース構造です。2.1 での一番の変更は、リンク(ブログロール)と投稿記事のカテゴリが一つのテーブルに統合されたことです。そのため、プラグインの中で、リンク/記事カテゴリテーブルに関して何か行なっている場合、それを修正する必要があります。

また、WordPress ユーザが以前のバージョンからアップグレードするとき、アップグレードスクリプトはブログロールカテゴリのデータを記事カテゴリテーブルにマージします。記事カテゴリとブログロールカテゴリは同じ ID になれない(一つのテーブル内で ID は一意となる)ので、ブログロールカテゴリの ID 番号は、アップデート中に新しい番号に付け替えられることになります。そのため、テーマやプラグインで、特定のブログロールカテゴリについて、その ID 番号で何か処理している場合は、その ID 番号を新しいものに直さなければなりません。新しい番号を知るには、WordPress 管理パネルのカテゴリセクションで一覧を見ます。

もう一つの DB の変更点は、"posts" テーブルに "post_type" という新しいフィールド(項目)ができたことです。プラグインの中で、投稿記事と WordPressページを識別するのに使えます。これは互換性の問題にはなりませんが、ロジックの改良として、プラグインを直すとよいでしょう。

コア 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 Codex » Migrating Plugins and Themes to 2.1