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

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

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

提供: WordPress Codex 日本語版
2008年2月20日 (水) 00:44時点におけるBono (トーク | 投稿記録)による版 (カノニカルURL が全く分からないので英文併記に/追加情報)

移動先: 案内検索

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

このページは、プラグインやテーマを WordPress のメジャーアップグレードに対応させる方法の手引きです。

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

あなたがテーマ・プラグインの作者であるか自分で変更・カスタマイズしている場合は、以下をお読みください。テーマ・プラグインを一般に配布しているのでしたら、動作するようになったら、新バージョンで使えることや動作するバージョンをユーザが確認できるよう、上記互換性リストに追加するといいでしょう。

1.2 から 1.5 への移行

1.2 から 1.5 へのアップグレード をご覧ください。古いテーマから現在のテーマシステムへの変換方法などを説明しています。

2.0.x から 2.1 への移行

プラグインとテーマの 2.1 への移行 をご覧ください。

2.1 から 2.2 への移行

バージョン 2.2 におけるプラグインとテーマにとっての主要な変更点は、WordPress ウィジェットが WordPress のコア(本体)に組み込まれたことです。(ウィジェットとは、カテゴリリストやアーカイブリスト・検索フォームといった WordPress の出力要素を、簡単にブログのサイドバーに配置できるようにするものです。従来はプラグインとして提供されていました。)

WordPress 2.2 より前に開発されたテーマでウィジェットを使えるようにするには、テーマのウィジェット対応についてのこの記事でテーマの修正方法をご覧ください。

プラグインでサイドバーウィジェットへの表示を生成する方法は、プラグインのウィジェット対応のこの記事をご覧ください。Widgets API も役立ちます。

2.2 から 2.3 への移行

カテゴリとタグ

バージョン 2.3 におけるプラグインとテーマにとっての主要な変更点は、WordPress 本体の機能としてタグ付けが組み込まれたことです。

テーマにタグを追加(例:記事に付けられているタグの表示、サイドバーへのタグクラウドの表示)するには、新しいテンプレートタグ the_tagswp_tag_cloud を用います。

WordPress 2.3 では、プラグインの中で使えるタグ関連の新しい関数も数多く導入されました。

また、WordPress にタグを導入する副作用として、カテゴリ情報の格納に関して、基盤であるデータベース・テーブル構造が大幅に変更されました。したがって、WordPress データベースのカテゴリ関係のテーブルを使うクエリを実行するプラグインは、おそらく使えなくなってしまい、クエリを全面的に書き換えなければなりません。カテゴリへのアクセスに WordPress 関数を利用しているプラグイン・テーマであれば、大丈夫なはずです。

カノニカル URL

(この項、さっぱり分からないので英文併記)

Another change in 2.3 that affects some plugins is the introduction of "canonical" URLs. The canonical URL system basically rewrites all URLs used in WordPress into "canonical" form, so that there is only one URL that points to a given display, and other URLs that could also point to that display are redirected to the "canonical" URL. Most plugins will not be affected by this change, but a plugin that adds suffixes to URLs could find that some of the URLs it generates are broken. Notably, a URL with a page number in it, such as example.com/page/2/ (to access the second page of older posts) must have the page section at the end of the URL. Prior versions of WordPress would have allowed example.com/page/2/suffix/ to work, but in WordPress 2.3, the URL must be generated as example.com/suffix/page/2 in order to function correctly.
プラグインに影響する 2.3 のもう一つの変更点は、「canonical(カノニカル)」URL の導入です。カノニカル URL システムは、与えられた表示(ページ)を指し示す URL を一つだけとするために、WordPress で使われる全ての URL を原則として「カノニカル」形式に書き換え、その表示を指す他の URL は「カノニカル」URL へリダイレクトします。ほとんどのプラグインはこの変更による影響を受けませんが、a plugin that adds suffixes to URLs could find that some of the URLs it generates are broken.(~~~ URL に接尾辞(suffix)を加えるようなプラグインは使えなくなります。) 特に、example.com/page/2/(過去記事の2ページ目にアクセス)のようにページ番号が付く URL は、URL の末尾にページセクションが必須です。WordPress の従来のバージョンでは example.com/page/2/suffix/ は動作できましたが、WordPress 2.3 では、正しく機能させるために URL を example.com/suffix/page/2 と生成しなければなりません。

留意: あなたのサイトを機能させるために、一般的でない URL/パーマリンク構造を使う必要がある場合は、「カノニカル URL」機能をオフにできます。プラグインファイル または テーマディレクトリ内の function.php に次の 1行を加えてください。

remove_filter('template_redirect', 'redirect_canonical');

WordPress 2.5 will make a further filter available for choosing which canonical redirects are denied rather than forcing them to be all on or all off.
WordPress 2.5 では、強制的なオン/オフではなく、カノニカルリダイレクトの拒否を選べる追加フィルタが提供される予定です。

2.3 から 2.5 への移行

(注: WordPress バージョン 2.4 はありません。とばして 2.5 となります。)

テーマについては、バージョン 2.5 による重大な影響はないでしょう。

もうすぐ公開される WordPress バージョン 2.5 における、プラグインに影響する主な変更点は、WordPress の管理画面とメニューの全面的な見直しです。この変更は、WordPress の管理パネルに対して、メニューへのページ追加や、ある画面内にセクションを追加するようなプラグインに影響します。

First, menus: The menus have been reorganized slightly; most plugins will probably still function correctly, if they used the standard methods of Adding Administration Menus.

Second, screens: Any plugin that had added a section to the post editing screen, or other administration screen, will probably find that the formatting and markup changes on the administration screens in WordPress 2.5 have made their section so that it no longer "blends in" and looks like it belongs with the built-in WordPress sections on the screen. So, plugin authors will either need to release a new version of their plugins for WordPress 2.5, or (preferably) put some decision logic into their plugin that will detect the version and use the right formatting. A good way to do that is to detect whether the new formatting functions have been defined. For example:

if (function_exists('add_meta_box')) {
 // 2.5 style
} else {
 // 2.3
} 

Another change that might affect some plugins is that in WordPress 2.5, the Activation hooks for plugins are run in non-global scope within a function (they used to be run in the global scope). This means that if your plugin has an activation hook, and the function it calls relies on global variables that are defined within your plugin file, you may find that they are not working properly. All you need to do is, at the global scope level in your plugin, add a "global" declaration for those variables, and you should be OK. For instance:

global $my_plugin_variable;
$my_plugin_variable = 3;

function my_plugin_activation_function() {
   global $my_plugin_variable;

   // rest of activation function
}

外部情報

最新英語版: WordPress Codex » Migrating Plugins and Themes