首页 > WordPress > WordPress设置常规下添加自定义参数 例如联系方式备案号公司名称等

WordPress设置常规下添加自定义参数 例如联系方式备案号公司名称等

时间:2022年6月13日 分类:WordPress 浏览量:626

在使用其他CMS系统时,一般都会提供一些基础参数,以便填充基础内容,例如联系人、联系方式(手机、qq、微信等),以及公司名称、简介等。这个在WordPress默认主题下是没有的。

我们可以在主题的function文件里,添加如下代码,增加基础参数,方便调用:

//常规设置添加自定义字段
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' => '备案号',
			'gps' => '地图坐标',
			'gongsi' => '公司名称',
		];
		$textarea_input = [ 'wangzhanjieshao' => '网站介绍' ];
		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>';
	}
}

然后调用方法是:

<?php echo get_option('phone'); ?>

如果需要更换其他参数调用,更改“phone”为对应参数ID即可

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

标签: