WordPress:Migrating Plugins and Themes to 2.1
介绍[ ]
发行一个新的主要版本的WordPress,如WordPress2.1或者2.2,你可能发现你的主题和插件不再向以前那样运行。可能因为插件和主题完全毁坏了,因为WordPress中对它们而言至关重要的部分更改了,但是通过上传一些设置,或者只是简单地编辑一下,你可能有能够使得这些插件和主题正常运行。
这篇文章是转移插件和主题的一部分。包括WordPress2.0版本和2.1版本之间的变化,你需要做的就是,使得插件和主题能够在2.1版本中运行。
如果你使用的主题或者插件是其他人开发的,你可以从下面的这些地点查找信息:
如果你是主题或者插件的作者,或者如果你更改或者自定义了主题,那么这篇文章会帮助你将主题/插件升级到2.1。如果你的主题或者插件是公开发行的版本,使得插件和主题运行之后,你希望将插件或者主题添加到上述的兼容性列表,这样你的用户会了解这些插件或者主题在运行以及应该在哪个版本上运行。
修理你的主题或者插件[ ]
要升级你的主题或者插件,首先要了解2.1版本中WordPress发生的变化。在WordPress 开发博客上关于2.1版本的文章上有2.1版本的变化概述。如果你的插件或者主题依赖与已经发生了变化的功能,你可能需要完全地重新考虑是否使用这样的插件或主题。
WordPress 核心数据库变化[ ]
WordPress2.1版本中一个相当重要的变化是WordPress数据库结构发生变化。主要的变化是在2.1版本中,链接的类别(如友情链接)和文章的类别结合到一个表格中。因此,如果你的插件处理有关链接或者文章类别表格方面的内容,你可能就要修改插件。
同时,用户从先前的版本升级的时候,升级脚本会将友情链接类别合并到文章类别表格。因为你现在不能够使得文章类别和友情链接类别的ID数字相同,更新的时候,友情链接类别ID数字会在更新过程中完全更改。因此,如果你有个插件或者主题通过了解友情链接类别的ID处理友情链接类别,你需要将主题或者插件中引用的ID数字更改为新的ID数字。想看看当前的数字是多少,只要进入WordPress管理面板中的类别部分,这些数字都列在那里的表格中。
数据库发生的另一个变化是WordPress "文章"表格中现在有个新的栏,称为"post_type",你可以在你的插件中使用这个栏,更好的区别文章和页面。这样做不会导致任何兼容性问题,但是你可能希望在插件中使用这一栏,提高插件的逻辑。
WordPress 核心文件变化[ ]
从2.0.x升级到2.1版本,许多WordPress核心文件进行了重组或者更改了名称。对于大多数主题和插件而言,这不是个问题,但是一些需要访问WordPress特别函数可能需要载入特别的PHP文件名称,以确定函数已经定义。如果你使用的函数现在位于新的文件了,你就需要更改reference。
已取消的函数和变数[ ]
一些插件和主题可能使用"已取消"的函数和全局变数,意思是这些函数出现在先前的WordPress版本中,但是现在已经取消了。也可能在你得不到提醒的情况下,这些函数和全局变数在下一个版本中已经删除了,那么你的插件或者主题就会停止运行。
因此,为你的插件和主题,核查一下这些函数,很有必要,可以使用一些替代函数。下面是已取消的函数列表(希望完整)(包括那些在WordPress先前的版本中已取消的函数)。也包含了替换后的函数(如果缺少这些函数,你知道什么函数适合,可以加入编辑!)
- dropdown_cats
- get_archives (请使用wp_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 (请使用wp_list_categories)
- next_post (请使用next_post_link)
- previous_post (请使用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 (请使用wp_list_categories)
- wp_set_post_cats
下面的这些全局变数也已经取消:
* $tableposts (use $wpdb->posts)
- $tableusers (use $wpdb->users)
- $tablecategories (use $wpdb->categories)
- $tablepost2cat (use $wpdb->post2cat)(Gone in ver 2.3 $wpdb->terms)
- $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)
深入阅读[ ]
下面是一些外部和内部文章,可能有利于将主题和插件升级到WordPress2.1版本:
- WordPress 开发博客关于2.1版本的文章
- WordPress Codex关于2.1版本的文章
- WordPress博客文章"你的插件好用还是不好用"
- 模板标签 – 主题中可以使用的模板标签列表,包括WordPress已取消的和新的标签的信息
- Lorelle关于将模板标签升级到2.1版本的文章
- Lorelle关于升级到2.1版本的文章
- Lorelle关于修正毁坏的博客的文章
- Mark Jaquith关于使用edit_post hook时,授权和目的/组织的文章 – 影响处理标签或者自定义内容的编辑插件