配置文件

在加载完本框架之后,会由默认的配置文件显示出很多默认的自定义字段,然而这些默认数据仅仅是我们提供给网友在配置时做参考用的。

在框架的include文件夹中,有config.php和config-example.php两个文件,其中config.php是我们提供的默认配置文件,而config-example.php没有用处仅仅做一个配置文件的备份,以防止网友在编辑过程中忘记某一个类型表单的配置方法。

需要说明的是,并没有规定配置文件的文件名一定要是config.php,如果你愿意,你可以新建一个名为int.php、peizhi.php等等文件做配置文件,甚至你可以直接将配置代码放在主题的functins.php文件中。不过如果你修改了配置文件的文件名,在你加载本框架代码的时候,请将

  1. require get_template_directory() . '/include/config.php';

中config.php文件的路径以及文件名修改为你自己的。

注意:

配置文件中,所有id请避免post\page\post_title等等,以免冲突。

其次,变量名$ashu_option为全局变量,已被占用,所以,变量名请避免$ashu_option,以免冲突。

文章自定义字段

范例:给post和page添加一个关键词和描述字段

  1. /*****SEO Box********/
  2. $seo_meta = array();
  3. //自定义字段面板配置
  4. $seoinfo = array(
  5.   'title' => 'SEO',  //面板标题
  6.   'id'=>'seobox', //id 面板的id
  7.   'page'=>array('page','post'), //支持的文章类型
  8.   'context'=>'normal', //面板的位置
  9.   'priority'=>'low', //优先级
  10.   'callback'=>''
  11. );
  12. //增加一个关键词字段
  13. $seo_meta[] = array(
  14.   'name' => '关键词',
  15.   'id'   => '_seo_keywords',
  16.   'desc' => '多个关键词请用英文逗号分隔',
  17.   'std'  => '',
  18.   'type' => 'text'
  19. );
  20. //增加一个描述字段
  21. $seo_meta[] = array(
  22.   'name' => '描述信息',
  23.   'id'   => '_seo_description',
  24.   'desc' => '',
  25.   'std'  => '',
  26.   'type' => 'textarea'
  27. );
  28. //创建面板
  29. $seo_box = new ashu_meta_box($seo_meta$seoinfo);

详解:

1. 创建一个面板需要三个变量,如范例中 $seo_meta、$seoinfo、$seo_box,在配置多个面板的过程中,请确保变量名不要相同,以免混乱。敬告:所有变量中的id也不要相同,以避免混乱。

2. $seoinfo是创建自定义字段板块的基本信息,参数可参考add_meta_box函数。

3. $seoinfo中page参数的值是一个数组,可支持多个文章类型,比如如页面、文章、产品页面都需要出现这个SEO面板:page参数的值设置为 array('page','post','product')即可

4. $seoinfo中context参数的值为normal则面板出现在默认编辑器的下方,值为side时面板出现在默认编辑器的右侧栏。

5. $seoinfo中priority参数为面板的优先级,设置为high则该面板在会出现在所有面板的前面(仍然在编辑器下方)

6. $seo_meta参数是一个二维数组,用来配置字段。

7. $seo_box是最后实例化类,创建面板。

代码结构,使用本框架创建自定义面板和自定义字段的配置代码结构如下

  1. //首先一个自定义字段面板配置变量,配置自定义面板的基本信息
  2. $seoinfo = array(
  3.   'title' => 'SEO',  //面板标题
  4.   'id'=>'seobox', //id 面板的id
  5.   'page'=>array('page','post'), //支持的文章类型
  6.   'context'=>'normal', //面板的位置
  7.   'priority'=>'low', //优先级
  8.   'callback'=>''
  9. );
  10. //然后是N组配置字段的变量
  11. $seo_meta[] = array();
  12. /**省略n行配置代码**/
  13. //最后再实例化类,创建面板
  14. $seo_box = new ashu_meta_box($seo_meta$seoinfo);

分类自定义字段

范例:给默认文章分类(category)和产品分类(products)添加一个关键词字段

  1. $taxonomy_meta = array();
  2. $taxonomy_info = array('category','products');
  3. $taxonomy_meta[] = array(
  4.   'name' => '关键词',
  5.   'desc' => '',
  6.   'std'=>'',
  7.   'edit_only'   => false,
  8.   'id' => '_seo_keywords',
  9.   'type' => 'text'
  10. );
  11. $taxonomy_feild = new ashu_taxonomy_feild($taxonomy_meta$taxonomy_info);

详解:

1. 创建一个面板需要三个变量,如范例中 $taxonomy_meta、$taxonomy_info、 $taxonomy_feild,在配置多组数据的过程中,请确保变量名不要相同,以免混乱。敬告:所有变量中的id也不要相同,以避免混乱。

2. $taxonomy_info仅仅是一个数组,用来支持多个分类法。

3. $taxonomy_feild为实例化类,创建字段。

代码结构,使用本框架为分类添加自定义字段的配置代码结构如下

  1. //首先一个变量,说明下面的代码支持哪些分类法
  2. $taxonomy_info = array('category','products');
  3. //然后是N组配置字段的变量
  4. $taxonomy_meta[] = array();
  5. /**省略n行配置代码**/
  6. //最后再实例化类
  7. $taxonomy_feild = new ashu_taxonomy_feild($taxonomy_meta$taxonomy_info);

设置页面

范例:增加两个设置页面:基本设置、SEO设置。

  1. //基本设置
  2. $general_pageinfo = array(
  3.   'full_name' => '基本设置',
  4.   'optionname'=>'general', //设置名称,获取设置选项用
  5.   'child'=>false, //整个网站不管配置多少个设置页面,必须且只能有一个顶级页面,即child设置为false
  6.   'filename' => 'generalpage' //设置页面的url
  7. );
  8. $general_option = array();
  9. $general_option[] = array('desc' => '', 'type' => 'open'); //需要有,与后面type="close"配合使用,用于设置页面table标签的闭合
  10. $general_option[] = array(
  11.   'name'=>'首页标题',
  12.   'id'=>'home_title',
  13.   'std'=>'',
  14.   'desc'=>'',
  15.   'type'=>'text'
  16. );
  17. $general_option[] = array('desc' => '', 'type' => 'close');
  18. $general_page = new ashu_option_class($general_option$general_pageinfo);
  19. //SEO设置
  20. $seo_pageinfo = array(
  21.   'full_name' => 'SEO设置',
  22.   'optionname'=>'seo',
  23.   'child'=>true, //此设置页面非顶级页面,所以设置为true
  24.   'parent_slug'=>'generalpage', //若child为true,请务必设置parent_slug选项
  25.   'filename' => 'seopage'
  26. );
  27. $seo_option = array();
  28. $seo_option[] = array('desc' => '', 'type' => 'open');
  29. $seo_option[] = array(
  30.   'name'=>'首页关键词',
  31.   'id'=>'_seo_keywords',
  32.   'std'=>'',
  33.   'desc'=>'',
  34.   'type'=>'text'
  35. );
  36. $seo_option[] = array('desc' => '', 'type' => 'close');
  37. $seo_page = new ashu_option_class($seo_option$seo_pageinfo);

详解:

1. 创建一个设置页面需要1组2个变量,如范例中$general_pageinfo、$general_option、 $general_page,如果需要添加多个设置页面,请配置多组数据即可,在配置多组数据的过程中,请确保变量名不要相同,以免混乱。敬告:所有变量中的id也不要相同,以避免混乱。

2. $general_pageinfo为设置页面基本信息:

3. $general_pageinfo的thild参数设置为false,则添加顶级页面,为true则为子页面,不管添加多少个设置页面,child参数必须且至少有一个设置为false,即必须有顶级页面才可能出现子页面,且若页面为子页面,请设置parent_slug参数

4. $general_pageinfo的parent_slug参数用于设置当前页面的父页面,值设置为对应的顶级页面的filename的值即可。

5. 在添加设置选项的过程中,开头需要一个'type' => 'open'的设置选项,结尾需要一个'type' => 'close'的选项,用于闭合设置页面的table标签,在一个页面中,是允许出现多组'type' => 'open'和'type' => 'close'的。

代码结构,使用本框架添加设置页面的配置代码结构如下

  1. //首先一个页面配置变量$tab_info配置页面的标题,选项名称等基本参数。
  2. $general_pageinfo = array(
  3.   'full_name' => '基本设置',
  4.   'optionname'=>'general', //设置名称,获取设置选项用
  5.   'child'=>false, //整个网站不管配置多少个设置页面,必须且只能有一个顶级页面,即child设置为false
  6.   'filename' => 'generalpage' //设置页面的url
  7. );
  8. //接着是具体选项的配置变量$tab_option
  9. $general_option = array();
  10. //先以一个 'type'=>'open' 开始
  11. $general_option[] = array('desc' => '', 'type' => 'open'); //需要有,与后面type="close"配合使用,用于设置页面table标签的闭合
  12. //然后是N组设置选项的配置变量
  13. $general_option[] = array( );
  14. /**省略n行配置代码**/
  15. //以一个 'type'=>'close' 结束
  16. $general_option[] = array('desc' => '', 'type' => 'close');
  17. //最后再实例化类
  18. $general_page = new ashu_option_class($general_option$general_pageinfo);