今天因业务要求需要做个wordpress的自定义字段参数,现在记录一下~  

第一步:在wordpress主题文件functions.php中添加如下代码:  


```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 设置>常规中添加自定义字段后的效果图

前台主题里调用标签 `<?php echo get_option('ziduanyi'); ?>`,ziduanyi为你的自定义字段名