欢迎来到天天文库
浏览记录
ID:14275660
大小:41.50 KB
页数:3页
时间:2018-07-27
《为自定义文章类型添加自定义字段表单》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、为自定义文章类型添加自定义字段表单2010-12-011条评论CodeCTO曾经介绍过怎么创建对用户友好的文章自定义字段表单,但该文章介绍的方法并不能有针对性地对不同类型的文章添加不同的自定义字段表单。因此今天我们在这个基础上进行更深一层的开发,为自定义文章类型添加一个自定义字段表单。关于自定义文章类型的创建方法,本文就不叙述了,网上有很多教程。因此我先假设我们已经有一个类型为gallery的文章类型了,接下来我们就是要为类型为gallery的文章添加自定义字段表单。首先就是创建一个表单了。1234567891011121314
2、1516ID,'_gallery_type',TRUE);if(!$gallery_type)$gallery_type='attachment';?>3、ttype="hidden"name="gallery_type_noncename"id="gallery_type_noncename"value="ID);?>">>Any.4、io"name="gallery_type"value="attachment">OnlyAttachments.>OnlyPosts.5、pe="radio"name="gallery_type"value="gallery">OnlyGalleries.上面的代码就是为gallery这个文章类型创建了一个GalleryType表单,自定义字段名为_gallery_type,大家留意一下add_meta_box()的第4个参数,我设为“gallery”,也就是要添加这个表单的文章类型的名字。这段代码加上去后在6、添加新gallery时会出现下面的一个表单。接下来也是最重要的一步,保存自定义字段的值。12345678910111213141516171819202122//保存自定义字段的值add_action('save_post',array(&$this,'save_gallery_data'));functionsave_gallery_data($post_id){//验证文章idif(!wp_verify_nonce($_POST['gallery_type_noncename'],'gallery_type'.$post_i7、d)){return$post_id;}//如果打开了自定保存功能,则在自动保存的时候不保存自定义字段if(defined('DOING_AUTOSAVE')&&DOING_AUTOSAVE)return$post_id;//检查当前用户是否有权限编辑文章if(!current_user_can('edit_post',$post_id))return$post_id;//通过前面的三个验证后则保存数据$post=get_post($post_id);if($post->post_type=='gallery'){update_8、post_meta($post_id,'_gallery_type',esc_attr($_POST['gallery_type']));return(esc_attr($_POST['gallery_type']));}return$post_id;}2324
3、ttype="hidden"name="gallery_type_noncename"id="gallery_type_noncename"value="ID);?>">>Any.4、io"name="gallery_type"value="attachment">OnlyAttachments.>OnlyPosts.5、pe="radio"name="gallery_type"value="gallery">OnlyGalleries.上面的代码就是为gallery这个文章类型创建了一个GalleryType表单,自定义字段名为_gallery_type,大家留意一下add_meta_box()的第4个参数,我设为“gallery”,也就是要添加这个表单的文章类型的名字。这段代码加上去后在6、添加新gallery时会出现下面的一个表单。接下来也是最重要的一步,保存自定义字段的值。12345678910111213141516171819202122//保存自定义字段的值add_action('save_post',array(&$this,'save_gallery_data'));functionsave_gallery_data($post_id){//验证文章idif(!wp_verify_nonce($_POST['gallery_type_noncename'],'gallery_type'.$post_i7、d)){return$post_id;}//如果打开了自定保存功能,则在自动保存的时候不保存自定义字段if(defined('DOING_AUTOSAVE')&&DOING_AUTOSAVE)return$post_id;//检查当前用户是否有权限编辑文章if(!current_user_can('edit_post',$post_id))return$post_id;//通过前面的三个验证后则保存数据$post=get_post($post_id);if($post->post_type=='gallery'){update_8、post_meta($post_id,'_gallery_type',esc_attr($_POST['gallery_type']));return(esc_attr($_POST['gallery_type']));}return$post_id;}2324
4、io"name="gallery_type"value="attachment">OnlyAttachments.>OnlyPosts.5、pe="radio"name="gallery_type"value="gallery">OnlyGalleries.上面的代码就是为gallery这个文章类型创建了一个GalleryType表单,自定义字段名为_gallery_type,大家留意一下add_meta_box()的第4个参数,我设为“gallery”,也就是要添加这个表单的文章类型的名字。这段代码加上去后在6、添加新gallery时会出现下面的一个表单。接下来也是最重要的一步,保存自定义字段的值。12345678910111213141516171819202122//保存自定义字段的值add_action('save_post',array(&$this,'save_gallery_data'));functionsave_gallery_data($post_id){//验证文章idif(!wp_verify_nonce($_POST['gallery_type_noncename'],'gallery_type'.$post_i7、d)){return$post_id;}//如果打开了自定保存功能,则在自动保存的时候不保存自定义字段if(defined('DOING_AUTOSAVE')&&DOING_AUTOSAVE)return$post_id;//检查当前用户是否有权限编辑文章if(!current_user_can('edit_post',$post_id))return$post_id;//通过前面的三个验证后则保存数据$post=get_post($post_id);if($post->post_type=='gallery'){update_8、post_meta($post_id,'_gallery_type',esc_attr($_POST['gallery_type']));return(esc_attr($_POST['gallery_type']));}return$post_id;}2324
5、pe="radio"name="gallery_type"value="gallery">OnlyGalleries.上面的代码就是为gallery这个文章类型创建了一个GalleryType表单,自定义字段名为_gallery_type,大家留意一下add_meta_box()的第4个参数,我设为“gallery”,也就是要添加这个表单的文章类型的名字。这段代码加上去后在
6、添加新gallery时会出现下面的一个表单。接下来也是最重要的一步,保存自定义字段的值。12345678910111213141516171819202122//保存自定义字段的值add_action('save_post',array(&$this,'save_gallery_data'));functionsave_gallery_data($post_id){//验证文章idif(!wp_verify_nonce($_POST['gallery_type_noncename'],'gallery_type'.$post_i
7、d)){return$post_id;}//如果打开了自定保存功能,则在自动保存的时候不保存自定义字段if(defined('DOING_AUTOSAVE')&&DOING_AUTOSAVE)return$post_id;//检查当前用户是否有权限编辑文章if(!current_user_can('edit_post',$post_id))return$post_id;//通过前面的三个验证后则保存数据$post=get_post($post_id);if($post->post_type=='gallery'){update_
8、post_meta($post_id,'_gallery_type',esc_attr($_POST['gallery_type']));return(esc_attr($_POST['gallery_type']));}return$post_id;}2324
此文档下载收益归作者所有