wordpress在设置的常规里面添加自定义设置


function set_global_seo() {
	$global_seo = new GlobalSeo();
	$global_seo->setting_fields();
}
add_action( 'admin_init', 'set_global_seo' );

class GlobalSeo
{
	public function setting_fields()
	{
		$text_input = [
			'contact' => '联系人',
			'email' => '邮箱',
			'address' => '地址',
			'phone' => '电话',
			'wechat' => '微信',
			'qq' => 'QQ',
			'copyright' => '备案号',
			'seo_title' => 'seo标题',
			'seo_keywords' => 'seo关键字',
		];
		$textarea_input = [ 'seo_description' => 'seo描述' ];
		foreach($text_input as $key => $val)
		{
			$this->sonliss_settings_field($key, $val, 'sonliss_textbox_callback', [$key]);
			$this->sonliss_register_setting($key);
		}
		foreach($textarea_input as $key => $val)
		{
			$this->sonliss_settings_field($key, $val, 'sonliss_textareabox_callback', [$key]);
			$this->sonliss_register_setting($key);
		}
	}
	/**
	 * id ID
	 * title 显示在页面的标题即label
	 * callback 回调
	 * args [] 
	 */
	public function sonliss_settings_field($id, $title, $callback, $args)
	{
		add_settings_field(
			$id,
			$title,
			[ $this, $callback ],
			'general', // general, reading, writing, discussion, media
			'default', // 块,对应add_settings_section的id
			$args
		);
	}

	/**
	 * id ID
	 */
	public function sonliss_register_setting($id)
	{
		register_setting('general', $id);
	}

	/**
	 * input text
	 */
	public function sonliss_textbox_callback($args) {
		$option = get_option($args[0]);
		echo '<input type="text" id="'. $args[0] .'" name="'. $args[0] .'" value="' . $option . '" class="regular-text" />';
	}

	/**
	 * area
	 */
	public function sonliss_textareabox_callback($args) {
		$option = get_option($args[0]);
		echo '<textarea id="'. $args[0] .'" name="'. $args[0] .'" class="regular-text">'. $option .'</textarea>';
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值