WooCommerce Setting Api 接口添加自定义设置选项

2018-12-2210:11:47后端程序开发Comments5,066 views字数 1908阅读模式

开发 WooCommece 主题或插件的时候,我们经常需要设置一些数据,比如做支付插件的时候,我们需要保存支付网关的一些数据到数据库中,这时候,我们就需要用到 WooCommerce 的设置接口来为插件增加一些设置选项了,WooCommerce 的设置 Api 使用起来非常简单,和我们常用的 WordPress 字段插件很类似。WooCommerce 的整个设置选项就是通过设置 Api 实现的。下面我们来看一下怎么使用 WooCommerce 设置 Api 增加设置选项。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/8998.html

定义表单字段

我们可以使用 init_form_fields 方法在类构造器中定义设置选项字段:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/8998.html

$this->init_form_fields();

加载设置之前,我们必须已经定义了该设置,定义设置的代码示例如下,我们只需要设置一个 form_fields 数组就可以了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/8998.html

/**
 * 初始化网关设置表单字段
 */
 function init_form_fields() {
     $this->form_fields = array(
     'title' => array(
          'title' => __( '标图', 'woocommerce' ),
          'type' => 'text',
          'description' => __( '用户结账时看到的支付网关标题', 'woocommerce' ),
          'default' => __( '支付宝支付', 'woocommerce' )
          ),
     'description' => array(
          'title' => __( '描述', 'woocommerce' ),
          'type' => 'textarea',
          'description' => __( '用户结账时看到的支付网关描述', 'woocommerce' ),
          'default' => __("使用支付宝支付,安全又便捷。", 'woocommerce')
           )
     );
}

在上面的示例代码中,我们定义了两个选项 – 标题和描述。标题是一个文本字段,描述是一个多段文本字段,注意上面代码中设置默认值和选项的方法,我们可以添加各种表单类型的选项,下面是支持的表单类型格式:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/8998.html


'option_name' => array(
     'title' => '设置页面的标题',
     'description' => '设置页面的描述信息',
     'type' => 'text|password|textarea|checkbox|select|multiselect',
     'default' => '选项的默认值',
     'class' => '输入框的 CSS Class',
     'css' => ' 输入框的 CSS 样式',
     'label' => 'Label', //  只有类型为 checkbox 时使用
     'options' => array(
          'key' => 'value'
     )
)

显示管理选项

创建一个名为 admin_options 的方法,包含以下代码:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/8998.html

function admin_options() {
 ?>
 <h2><?php _e('插件名称','woocommerce'); ?></h2>
 <table class="form-table">
 <?php $this->generate_settings_html(); ?>
 </table> <?php
 }

上面的代码将以正确的格式输出我们的设置。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/8998.html

保存管理选项

有了更设置选项输入界面,我们还需要保存设置选项到我们的数据库中,只需要把我们保存数据的方法挂载到 process_admin_options 钩子上即可。WooCommerce 支付网关挂载到网关保存动作上:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/8998.html

add_action('woocommerce_update_options_payment_gateways', array(&$this, 'process_admin_options'));
add_action('woocommerce_update_options_shipping_methods', array(&$this, 'process_admin_options'));

加载设置

保存了设置后,我们就可以加载我们已经保存的设置了:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/8998.html

// 加载设置
$this->init_settings();

完成上面工作后,我们可以从设置API中加载 设置值 – 上面的 init_settings 方法会自动处理设置值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/8998.html

// 定义用户设置的变量
$this->title = $this->settings['title'];
$this->description = $this->settings['description'];

学会通过 Settings API 为 WooCommerce 添加自定义设置选项是通过 WooCommerce 高级开发的必经之路,对WooCommerce 开发有兴趣,想在这方便深入发展的,可以深入了解尝试一下。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/8998.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/8998.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定