自由屋推书网—热门的小说推荐平台!

你的位置: 首页 > wordpress分享

WordPress如何实现通过函数给前端和后台添加自定义字段

2021-12-20 15:19:33

我们在使用wordpress制作网站,尤其是企业站的时候,难免会需要添加自定义字段,但是在wordpress后台常规页面只能填写站点和站点 URL 的位置,并不能通过后台添加自定义字段,如果我们做网站时,该如何去添加自定义字段呢?下面就来教大家通过函数给前端和后台添加自定义字段。

也可以通用 functions.php 按照自己的需要添加自定义的字段。例如我们想在常规页面添加授权码填写框,就可以使用以下的代码,放在 functions.php 代码中。

$new_general_setting = new new_general_setting();
class new_general_setting {
function new_general_setting( ) {
add_filter( 'admin_init' , array( &$this , 'register_fields' ) );
}
function register_fields() {
register_setting( 'general', 'shouquanma', 'esc_attr' );
add_settings_field('fav_color', '<label for="shouquanma">'.__('正版授权码' ).'</label>' , array(&$this, 'fields_HTML') , 'general' );
}
function fields_html() {
$value = get_option( 'shouquanma', '' );
echo '<input type="text" id="shouquanma" name="shouquanma" value="' . $value . '" size="65"/><br><span style="font-size:12px;color:#888">您正在使用<span style="color:#f00">Wordpress正版模板</span>,为保护您的权益和防止模板滥用,请填写<span style="color:#f00">授权码</span>!</span>';
}
}

还可以在后台常规页面添加多个自定义字段

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 = [
'widget_ctextk' => '电话',
'shouquanma' => '邮箱',
];
foreach($text_input as $key => $val)
{
$this->sonliss_settings_field($key, $val, 'sonliss_textbox_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="hidden" data-id="'. $option.'" id="'. $args[0].'" name="'. $args[0] .'" value="" />';
}
}

如果想调用自定义的字段,使用以下的代码来调用:

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

除此之外,我们还可以使用通过 functions.php 给网站后台添加 JS 或者 CSS;

function myfunction_custom_admin_footer2() {
echo '<script src="'.get_template_directory_uri(). '/admin/js/ashuwp_head.js?v=2"></script>';
}
add_filter('admin_footer_text', 'myfunction_custom_admin_footer2');

也可以使用 functions.php 给网站前端添加代码;

function panda_copyright() {
echo '网站前端添加代码';
}
add_action('wp_footer', 'panda_copyright');

在底部模板添加来获取 js 文件。

编辑推荐

热门小说