WordPress系统常规自定义字段设定与调用代码

WordPress自定义字段
1、在wordpress主题文件functions.php中添加如下代码就可以添加一些我们常用的系统常规字段,在数据库表 wp_options 中保存。比如系统参数字段如:备案号、统计代码、phone,qq 为自定义字段名等。注:如果不知道字段名是什么可以在数据库表 wp_options查看,或者到function.php文件中找到你添加自定义字段的代码查看。

// 自定义系统字段
function set_global_fields() {
$global_fields = new GlobalFields();
$global_fields->setting_fields();
}
add_action( 'admin_init', 'set_global_fields' );

class GlobalFields
{
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描述','tongji' => '统计代码' ];
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>';
}
}
注:如果需要添加继续添加新的字段 单行文本 在$text_input =[] 添加新的字段名 多行文本 在$textarea_input =[] 添加新的字段

列:$textarea_input = [ 'seo_description' => 'seo描述','tongji' => '统计代码' ];

2、模板里调用:

<?php echo get_option('phone'); ?>
<?php echo get_option('qq'); ?>
————————————————
版权声明:本文为CSDN博主「程序小小生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cnpinpai/article/details/128093567

THE END