单选框 radio

单选框radio即<input type="radio">标签。

文章自定义字段

自定义面板的添加请参考配置文件。配置代码范例:

  1. //注意,本范例配置变量并非$seo_meta
  2. $ashu_meta[] = array(
  3.   'name'    => '性别',
  4.   'id'      => '_id_radio',
  5.   'desc'    => '请选择你的性别',
  6.   'std'     => 'thirdness',
  7.   'subtype' => array(
  8.     'male'      => '男士',
  9.     'female'    => '女士',
  10.     'thirdness' => '其它'
  11.   ),
  12.   'type'    => 'radio'
  13. );

详解:

name - 自定义字段标题

id - 自定义字段名称,获取数据时用。敬告:请确配置文件中所有id都不相同,同时避免post\page\title等词。

desc - 自定义字段描述信息

std - 默认选中(请设置为buttons中的一个)

subtype - 数组或字符串,即选项。注意真正保存的数据为数组的键名,即范例中的英文male\female,键名请避免中文,该参数设置为page、category(或自定义分类法名称)、nav_menu、sidebar时会自动调用相关内容。

type - 值为radio时,本条字段类型为单选框

获取与输出范例:

  1. //获取文章自定义字段的值,请参考get_post_meta函数
  2. //获取
  3. $post_id = $post->ID; //首选需要获取文章id
  4. $genders = get_post_meta($post_id,'_id_radio',true); //_id_radio即配置数据中的id值
  5. //输出
  6. $post_id = $post->ID; //首选需要获取文章id
  7. $genders = get_post_meta($post_id,'_id_radio',true);
  8. if($genders == 'male'){
  9.   echo '本文作者的性别为男士';
  10. }elseif($genders == 'female'){
  11.   echo '本文作者的性别为女士';
  12. }else{
  13.   echo '本文作者的性别为第三种';
  14. }

分类自定义字段

分类页面自定义字段的添加请参考配置文件。配置代码范例:

  1. $taxonomy_meta[] = array(
  2.   'name'    => '分类样式',
  3.   'id'      => 'taxonomy_style',
  4.   'desc'    => '请选择样式',
  5.   'std'     => 'list',
  6.   'subtype' => array(
  7.     'list'   => '列表',
  8.     'grid'   => '格子',
  9.     'images' => '图片列表'
  10.   ),
  11.   'edit_only'   => false,
  12.   'type'    => 'radio'
  13. );

详解:

name - 自定义字段标题

id - 自定义字段名称,获取数据时用。敬告:请确配置文件中所有id都不相同,同时避免post\page\title等词。

desc - 自定义字段描述信息

std - 默认值

subtype - 数组或字符串,即选项。注意真正保存的数据为数组的键名,即范例中的英文male\female,键名请避免中文,该参数设置为page、category(或自定义分类法名称)、nav_menu、sidebar时会自动调用相关内容。

edit_only - 值为true或fase,由于分类字段需要出现在两个页面:分类添加页面和分类编辑页面,edit_only设置为true时,该字段只会在分类编辑页面出现。

type - 值为radio时,本条字段类型为单选框

获取与应用范例:

  1. //获取分类自定义字段,使用get_term_meta函数,函数第一个参数为分类id,int型
  2. //获取数据
  3. $currentterm = get_queried_object(); //获取当前分类
  4. $taxonomy_style = get_term_meta($currentterm->term_id , 'taxonomy_style',true); //taxonomy_style即配置数据中的id值
  5. //应用范例
  6. if($taxonomy_style=='grid'){
  7.   //加载格子样式模板
  8. }elseif($taxonomy_style=='images'){
  9.   //加载图片列表样式模板
  10. }else{
  11.   //加载默认列表样式
  12. }

设置页面

设置页面的添加请参考配置文件。配置代码范例:

  1. $general_pageinfo = array(
  2.   'full_name' => '基本设置',
  3.   'optionname'=>'general', //设置名称,获取设置选项用
  4.   'child'=>false,
  5.   'filename' => 'generalpage'
  6. );
  7. $general_option = array();
  8. $general_option[] = array('desc' => '', 'type' => 'open');
  9. //单选框范例
  10. $general_option[] = array(
  11.   'name'    => '站长性别',
  12.   'id'      => 'blogger_sex',
  13.   'desc'    => 'Please select your gender',
  14.   'std'     => 'thirdness',
  15.   'subtype' => array(
  16.     'male'      => '男士',
  17.     'female'    => '女士',
  18.     'thirdness' => '其它'
  19.   ),
  20.   'type'    => 'radio'
  21. );
  22. $general_option[] = array('desc' => '', 'type' => 'close');
  23. $general_page = new ashu_option_class($general_option$general_pageinfo);

$general_option详解

name - 设置选项标题

id - 设置选项名称

desc - 描述信息

std - 默认数据

desc - 默认选中项,请设置为buttons中的其中之一

subtype - 数组或字符串,即选项。注意真正保存的数据为数组的键名,即范例中的英文male\female,键名请避免中文,该参数设置为page、category(或自定义分类法名称)、nav_menu、sidebar时会自动调用相关内容。

type - 值为radio时,本条字段类型为单选框

设置数据的获取与输出范例:

  1. //方法一
  2. global $ashu_option//直接使用全局变量,一个文件中使用一次即可
  3. //获取
  4. //general即添加设置页面时设置选项名称optionname的值\blogger_sex即配置数据中的id值
  5. $blogger_sex = '';
  6. if(isset($ashu_option['general']['blogger_sex']) && $ashu_option['general']['blogger_sex']!=''){
  7.   $blogger_sex = $ashu_option['general']['blogger_sex'];
  8. }
  9. if($blogger_sex=='male'){
  10.   echo '站长为男士';
  11. }elseif($blogger_sex=='female'){
  12.   echo '站长为女士';
  13. }else{
  14.   echo '站长性别保密';
  15. }
  16. //方法二
  17. $general_option = get_option('ashu_general'); //获取设置选项组,为了使选项名称不冲突,在general前面加上前缀ashu_
  18. //获取
  19. $blogger_sex = '';
  20. if(isset($ashu_option['general']['blogger_sex']) && $ashu_option['general']['blogger_sex']!=''){
  21.   $blogger_sex = $general_option['blogger_sex'];
  22. }
  23. if($blogger_sex=='male'){
  24.   echo '站长为男士';
  25. }elseif($blogger_sex=='female'){
  26.   echo '站长为女士';
  27. }else{
  28.   echo '站长性别保密';
  29. }

自定义分类法的支持

以产品分类products为例:将配置选项中的subtype的值设置为products即可。