Custom Fields em 5 minutos
COMO?! em 5min? sim
em 5min, a coisa mais linda do universo
Bom, pra facilitar a vida, segue codigo abaixo comentado
<?php
add_action(“admin_init”, “admin_init”);
//adicionar a function admin_init() que inicializa os custom fields ao admin do wordpress
add_action(‘save_post’, ‘save_fields’);
// aqui determinamos uma ação para que quando salvar o post, ou atualizar, ele execute a function save_fields()
function admin_init(){
add_meta_box(“featured-meta”, “Custom fields doidos “, “meta_options”, “post”, “normal”, “high”);
// aqui temos nossa função que cria a caixa de campo customizavel,
// temos o nome dela(“featured-meta”), temos o titulo que aparecerá na caixa no post(“Custom fields doidos”),
// em “meta_options” ele chama as opções da função meta_options() logo abaixo, determinamos que iram aparecer somente em “post”
// em “normal” podemos determinar se será “normal” (aparece abaixo do editor de textos) ou “side” que aparece ali onde
// ficam categorias e tals
simples não?
}
function meta_options(){
// yay
agora em meta_options() pegamos todos campos que queremos ou criaremos e colocaremos em suas respectivas variaveis:
global $post, $meta_boxes;
$custom = get_post_custom($post->ID);
$field = $custom["field"][0]; //crie mais $mais uma = $custom["maisuma"][0], sempre com 0 no final ok? porque assim ele pega o valor dentro do array e não faz merda :p
?>
<div><label>Field:</label><br/><input name=”modelo” value=”<?php echo $field; ?>” /></div>
// pra mim a parte mais divertida, personalizar essa parte fica a seu criterio, eu sempre personalizo, enfim, html forms
se você tá lendo isso você sabe fazer um :p só utilize <?php echo $nomedofield;?> pra pintar os valores aonde quer
<?php
}
function save_fields(){
global $post;
update_post_meta($post->ID, “field”, $_POST["field"]);
// finalmente a parte pra salvar os fields, bom o codigo se auto-explica, mais vai ae uma explicação simples
// update_post_meta($id, $metaname, $metavalue), onde $id é o ID do post, $metaname é o nome que vamos utilizar lá no nosso post depois pra recuperar esse valor e $metavalue o valor do campo
}
?>
OKAY!!!! depois de mil anos terminamos :p mentira, em 5 minutos se faz isso, a leitura que é demorada
como recuperar iss depois no meu template?
<?php echo get_post_meta($post->ID, “field”, true);?>
ou você pode colocar o valor em uma variavel e manipular da maneira que quiser
use sua imaginação e compartilhe seu conhecimento e experiências aqui nos comentários
Código final sem os cometários:
<?php
add_action(“admin_init”, “admin_init”);
add_action(‘save_post’, ‘save_fields’);
function admin_init(){
add_meta_box(“featured-meta”, “Custom fields doidos “, “meta_options”, “post”, “normal”, “high”);
}
function meta_options(){
global $post, $meta_boxes;
$custom = get_post_custom($post->ID);
$field = $custom["field"][0];
?>
<div><label>Field:</label><br/><input name=”modelo” value=”<?php echo $field; ?>” /></div>
<?php
}
function save_fields(){
global $post;
update_post_meta($post->ID, “field”, $_POST["field"]);
}
?>
-
http://dldesign.myartsonline.com/ Douglas






