wordpress 不用插件自定义字段参数常规设置
今天因业务要求需要做个wordpress的自定义字段参数,现在记录一下~
第一步:在wordpress主题文件functions.php中添加如下代码:
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 = [
'ziduanyi' => '字段一',
'ziduaner' => '字段二',
'ziduansan' => '字段三',
'ziduansi' => '字段四',
'ziduanwu' => '字段五',
'ziduanliu' => '字段六',
'ziduanqi' => '字段七',
'ziduanba' => '字段八',
'ziduanjiu' => '字段九',
];
$textarea_input = [ 'seo_description' => '多行字段一' ];
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);
}
}
public function sonliss_settings_field($id, $title, $callback, $args)
{
add_settings_field(
$id,
$title,
[ $this, $callback ],
'general',
'default',
$args
);
}
public function sonliss_register_setting($id)
{
register_setting('general', $id);
}
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" />';
}
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' => '统计代码' ];
下面是在wordpress 设置>常规中添加自定义字段后的效果图
wordpress 不用插件自定义字段参数常规设置
前台主题里调用标签 <?php echo get_option('ziduanyi'); ?>
ziduanyi为你的自定义字段名