Logo DrCode Logo DrCode

Blog

Blog / PHP / Criar campos Personalizados no WordPress

Criar campos Personalizados no WordPress

 

WordPress é uma ferramenta incrível para se fazer um site básico e rápido, e fica um pouco melhor se você conseguir criar campos Personalizados no WordPress, bom, para fazer isso é bem simples. Vamos lá!

Mas qual a Vantagem de Criar campos personalizados no worpress ?

Bom, você pode deixar campos administraveis, assim como telefones, e-mails, entre outros. Com um campo personalizado no wordpress, você evita que um cliente fique ligando para você alterar o endereço, telefone, e-mail, etc.

Mas como faço isso ?

É apenas um codigo PHP que você coloca no function.php (www/wp-content/themes/NomeDoTema/function.php) do seu tema. E assim eles iram aparecer na aba Geral das configurações do WordPress

$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', 'campo_input1', 'esc_attr' );
		add_settings_field('campo_input1', '<label for="campo_input1">'.__('Campo 1:' , 'campo_input1' ).'</label>' , array(&$this, 'input1') , 'general' );
	}

	function input1() {
		$value = get_option( 'campo_input1', '' );
		echo '<input type="text" id="campo_input1" name="campo_input1" value="' . $value . '" />';
		echo '<p><small><i>Ex: (xx) XXXX XXXX</i></small></p>';
		
	}
}

Certo, é um pouco dificil de entender, mas é simples, você entenderá melhor vendo como se usa dois campos personalizados no WordPress. Vejá só

$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', 'campo_input1', 'esc_attr' );
		add_settings_field('campo_input1', '<label for="campo_input1">'.__('Campo 1:' , 'campo_input1' ).'</label>' , array(&$this, 'input1') , 'general' );
	}

	function input1() {
		$value = get_option( 'campo_input1', '' );
		echo '<input type="text" id="campo_input1" name="campo_input1" value="' . $value . '" />';
		echo '<p><small><i>Ex: (xx) XXXX XXXX</i></small></p>';
		
	}
}

//Outro Campo
add_filter('admin_init', 'funcao_campo_input2');

function funcao_campo_input2(){
    register_setting('general', 'campo_input2', 'esc_attr');
	add_settings_field('campo_input2', '<label for="campo_input2">'.__('Campo 2:' , 'campo_input2' ).'</label>' , 'input2', 'general');
}

function input2(){
	$value = get_option( 'campo_input2', '' );
	echo '<input type="text" id="campo_input2" name="campo_input2" value="' . $value . '" />';
	echo '<p><small><i>Descrição do Campo</i></small></p>';
}

E claro, você precisa exibir onde vai aparecer o que foi escrito neste campo, e para isso é só usar este comando no seu código.

<?php echo get_option('campo_input1');?>
<?php echo get_option('campo_input2');?>

Este valor, é o valor colocado dentro do get_option no function.php

Bom, por em quanto é apenas isso, caso tenha alguma dúvida sobre como fazer isso, deixe-as nos comentários, ou mande-me um e-mail.

Tags: campos de email no wordpress campos de telefone no wordpress campos na admin do wordpress campos no wordpress campos personalizados campos personalizados na admin do wordpress campos personalizados no wordpress como criar campos na admin como criar campos no wordpress modulo no wordpress wordpress
Felipe Mello
Comentários