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

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

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

提供: WordPress Codex 日本語版
2007年7月6日 (金) 20:27時点におけるBono (トーク | 投稿記録)による版 (一部和訳)

移動先: 案内検索

原文・最新版: WordPress Codex » Migrating Plugins and Themes to 2.1

はじめに

(Introduction)

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

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

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

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

(Fixing Up Your Theme or Plugin)

テーマ・プラグインのアップグレードの第一歩は、WordPress 2.1 の変更点を理解することです。概要は WordPress Development Blog article on the release of Version 2.1 に載っています(この和訳は追加資料参照)。変更された機能をプラグイン・テーマが利用しているなら、変更点をさらに詳しく確認する必要があります。

コア WordPress DB の変更点

(Core WordPress Database Changes)

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

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

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

コア WordPress ファイルの変更点

(Core WordPress File Changes)

Many of the core WordPress files were either reorganized or had their names changed between Version 2.0.x and 2.1. For most Themes and Plugins, this is not a problem, but some Plugins that need access to a particular WordPress function may be loading a specific PHP file name, in order to make sure that that function is defined. If the function you are using is located in a new file now, you'll need to change the reference.

非推奨となった関数・変数

(Deprecated Functions and Variables)

Some Plugins and Themes may be using functions and global variables that are "deprecated", which means that they were present in previous versions of WordPress, but are being phased out. They could be deleted in a future version of WordPress, without warning, and then your Plugin or Theme would stop working.

So, It is a good idea to check your Themes and Plugins for these functions, and make a substitution. Here is a (hopefully complete) list of deprecated functions (including ones deprecated in previous versions of WordPress). Replacement suggestions are also included (if they are missing and you know what they should be, feel free to jump in and edit!):

  • 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)

追加資料

(Further Reading)

Here is a list of internal and external articles that may be of use in upgrading Themes or Plugins to Version 2.1 of WordPress: