Isso é provavelmente mais complicado do que você pensa, eu procuraria usar uma estrutura:
Se você quiser escrever seus próprios, aqui estão alguns tutoriais decentes:
Ok, registrei alguns tipos de postagem personalizados e algumas taxonomias. Agora, pela minha vida, não consigo descobrir o código necessário para adicionar um campo personalizado ao meu tipo de postagem personalizada.
Eu preciso de um menu suspenso e uma área de texto de linha única. Mas também preciso ter campos separados para os tipos de postagem. Então, digamos que o tipo de postagem um tem três campos e o tipo de postagem 2 tem quatro campos, mas os campos são diferentes.
Todas as dicas ajudariam a ver o codex e descobri algo, mas não consigo entender o que preciso adicionar ao meu arquivo functions.php
Embora você deva adicionar alguma validação, esta ação não parece ser complicada para a versão atual do WordPress.
Basicamente, você precisa de duas etapas para adicionar um campo personalizado a um tipo de postagem personalizado:
Essas etapas são descritas globalmente aqui: enlace
Adicione um campo personalizado chamado "function" a um tipo de postagem personalizado chamado "prefix-teammembers".
Primeiro adicione o metabox:
function prefix_teammembers_metaboxes( ) {
global $wp_meta_boxes;
add_meta_box('postfunctiondiv', __('Function'), 'prefix_teammembers_metaboxes_html', 'prefix_teammembers', 'normal', 'high');
}
add_action( 'add_meta_boxes_prefix-teammembers', 'prefix_teammembers_metaboxes' );
Se você adicionar ou editar um "membro da equipe de prefixo", o add_meta_boxes_{custom_post_type}
hook será acionado. Veja enlace para a função add_meta_box()
. Na chamada acima de add_meta_box()
is prefix_teammembers_metaboxes_html
, um retorno de chamada para adicionar seu campo de formulário:
function prefix_teammembers_metaboxes_html()
{
global $post;
$custom = get_post_custom($post->ID);
$function = isset($custom["function"][0])?$custom["function"][0]:'';
?>
<label>Function:</label><input name="function" value="<?php echo $function; ?>">
<?php
}
Na segunda etapa, você tem seu campo personalizado no banco de dados. Ao salvar, o gancho save_post_{custom_post_type}
é acionado (desde a versão 3.7, consulte: enlace ). Você pode ligar isso para salvar seu campo personalizado:
function prefix_teammembers_save_post()
{
if(empty($_POST)) return; //why is prefix_teammembers_save_post triggered by add new?
global $post;
update_post_meta($post->ID, "function", $_POST["function"]);
}
add_action( 'save_post_prefix-teammembers', 'prefix_teammembers_save_post' );
Existem vários plug-ins para caixas meta personalizadas e campos personalizados. Se você olhar para um plugin que se concentra em desenvolvedores, então você deve tentar Meta Box . É leve e muito poderoso.
Se você está procurando um tutorial sobre como escrever código para uma caixa meta / campos personalizados, então isso é um bom começo. É a primeira parte de uma série que pode ajudá-lo a refinar o código para facilitar a extensão.
// slider_metaboxes_html, função para criar HTML function slider_metaboxes () { global $ wp_meta_boxes; add_meta_box ('postfunctiondiv', __ ('Link personalizado'), 'slider_metaboxes_html', 'slider', 'normal', 'alto'); }
// add_meta_boxes_slider = > add_meta_boxes_ {tipo de postagem personalizada} add_action ('add_meta_boxes_slider', 'slider_metaboxes');
Conhecimento perfeito