wordpress文章页饮用php文件,wordpress进阶教程之在后台文章编辑页面添加自定义面板类文件|wordpress主题定制-阿树工作室...

丢了这么多天没更新教程了,自己写到哪里都快忘了。。

前面几篇教程演示了如何在wordpress后台文章编辑页面添加自定义面板,今天的这篇文章不能算教程,和wordpress后台教程的结尾一样,直接放出一个便于使用的类文件,实际使用的时候只需要包含这个类文件,然后加载配置文件即可使用。

使用该类文件可以创建标题、文本框、文本域、下拉框、复选框、图片实时预览上传。不过少了单选框(radio)和文本编辑器,因为个人很少用到这两个,所以就没加上,如果有需要的,完全可以参照我们前面几篇教程自己添加上。

说实话,这个类文件也不完全是我写的,我也是从一个主题上弄来的,然后修改。

文件下载(压缩包内功四个文件,分别是类文件、配置文件、js文件、css文件)

版本控制

2013.07.08,版本1.0

修改复选框功能

增加编辑器功能

类文件metaboxclass.php:

/*

wordpress文章自定义字段类文件

Version: 1.0

Author: 树是我的朋友

Author URI: http://www.ashuwp.com

License: http://www.ashuwp.com/courses/highgrade/298.html

*/

classashu_meta_box{

var$options;

var$boxinfo;

//构造函数

functionashu_meta_box($options,$boxinfo){

$this->options =$options;

$this->boxinfo =$boxinfo;

add_action('admin_menu',array(&$this, 'init_boxes'));

add_action('save_post',array(&$this, 'save_postdata'));

}

//初始化

functioninit_boxes(){

$this->add_script_and_styles();

$this->create_meta_box();

}

//加载css和js脚本

functionadd_script_and_styles(){

if(basename($_SERVER['PHP_SELF']) =="page.php"

||basename($_SERVER['PHP_SELF']) =="page-new.php"

||basename($_SERVER['PHP_SELF']) =="post-new.php"

||basename($_SERVER['PHP_SELF']) =="post.php"

||basename($_SERVER['PHP_SELF']) =="media-upload.php")

{

//注意加载的脚本的url

wp_enqueue_style('metabox_fields_css', TEMJS_URI. 'metabox_fields.css');

wp_enqueue_script('metabox_fields_js',TEMJS_URI. 'metabox_fields.js');

wp_enqueue_style('thickbox');

wp_enqueue_script('media-upload');

wp_enqueue_script('thickbox');

if(isset($_GET['hijack_target']))

{

add_action('admin_head',array(&$this,'add_hijack_var'));

}

}

}

/*************************/

functionadd_hijack_var()

{

echo"\n";

}

//创建自定义面板

functioncreate_meta_box(){

if( function_exists('add_meta_box') &&is_array($this->boxinfo['page']) )

{

foreach($this->boxinfo['page']as$area)

{

if($this->boxinfo['callback'] =='')$this->boxinfo['callback'] = 'new_meta_boxes';

add_meta_box(

$this->boxinfo['id'],

$this->boxinfo['title'],

array(&$this,$this->boxinfo['callback']),

$area,$this->boxinfo['context'],

$this->boxinfo['priority']

);

}

}

}

//创建自定义面板的显示函数

functionnew_meta_boxes(){

global$post;

//根据类型调用显示函数

foreach($this->optionsas$option)

{

if(method_exists($this,$option['type']))

{

$meta_box_value= get_post_meta($post->ID,$option['id'], true);

if($meta_box_value!="")$option['std'] =$meta_box_value;

echo'boxinfo['context'].'">';

$this->$option['type']($option);

echo'

';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值