Custom post types + custom fields + sidebar
-
Tenho este código no meu fuctions.php do tema que estou a testar:
/***** EVENTOS Custom Post *****/ add_action( 'init', 'empevento_register' ); function empevento_register() { $labels = array( 'name' => _x('Eventos', 'post type general name'), 'singular_name' => _x('Evento', 'post type singular name'), 'add_new' => _x('Novo', 'evento'), 'add_new_item' => __('Criar evento'), 'edit_item' => __('Editar evento'), 'new_item' => __('Novo evento'), 'view_item' => __('Ver evento'), 'search_items' => __('Procurar eventos'), 'not_found' => __('Eventos não encontrados'), 'not_found_in_trash' => __('Não há eventos no lixo'), 'parent_item_colon' => '', ); $args = array( 'label' => __('Eventos'), 'labels' => $labels, 'public' => true, 'can_export' => true, 'show_ui' => true, '_builtin' => false, '_edit_link' => 'post.php?post=%d', // ? 'capability_type' => 'post', 'menu_icon' => get_bloginfo('template_url').'/images/calendar.png', 'hierarchical' => false, 'rewrite' => array( "slug" => "eventos" ), 'supports'=> array('title', 'thumbnail'), 'show_in_nav_menus' => true, 'taxonomies' => array( 'empevento_categoria', 'empevento_local' ) ); register_post_type( 'empevento', $args); } // 2. Custom Taxonomy Registration (Tipos de eventos) function create_eventcategory_taxonomy() { $labels = array( 'name' => _x( 'Tipos de eventos', 'taxonomy general name' ), 'singular_name' => _x( 'Tipo de evento', 'taxonomy singular name' ), 'search_items' => __( 'Procurar tipo' ), 'popular_items' => __( 'Tipos mais usadas' ), 'all_items' => __( 'Todos os tipos' ), 'parent_item' => null, 'parent_item_colon' => null, 'edit_item' => __( 'Editar tipo' ), 'update_item' => __( 'Atualizar tipo' ), 'add_new_item' => __( 'Adicionar tipo' ), 'new_item_name' => __( 'Novo tipo' ), 'separate_items_with_commas' => __( 'Separar tipos com vírgulas' ), 'add_or_remove_items' => __( 'Adicionar/remover tipos' ), 'choose_from_most_used' => __( 'Escolher tipos mais usados' ), ); register_taxonomy('empevento_tipo','empevento', array( 'label' => __('Tipo Evento'), 'labels' => $labels, 'hierarchical' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'empevento_tipo' ), )); } add_action( 'init', 'create_eventcategory_taxonomy', 0 ); // 3. Paineis das datas e locais add_action("admin_init", "admin_init"); add_action('save_post', 'save_data'); function admin_init(){ add_meta_box("eventinfo-meta", "Dados do evento", "meta_options", "empevento", "normal", "high"); } function meta_options(){ global $post; $custom = get_post_custom($post->ID); $data = $custom["data"][0]; $cidade = $custom["cidade"][0]; $morada = $custom["morada"][0]; $redirect = $custom["redirect"][0]; ?> <label>Data (yyyy.mm.dd): </label><input name="data" type="date" value="<?php echo $data; ?>" maxlength="10" size="12" /> <label>Cidade: </label><input name="local" value="<?php echo $cidade; ?>" maxlength="100" size="20" /> <label>Morada: </label><input name="morada" value="<?php echo $morada; ?>" maxlength="100" size="60" /><br /> <label>Redireccionar: </label><input name="redirect" value="http://www.worldspreads.com/pt/default/getting_started/seminars.aspx" maxlength="70" size="70" /> <?php } function save_data(){ global $post; update_post_meta($post->ID, "data", $_POST["data"]); update_post_meta($post->ID, "cidade", $_POST["cidade"]); update_post_meta($post->ID, "morada", $_POST["morada"]); update_post_meta($post->ID, "redirect", $_POST["redirect"]); }
Como é que eu ponho um widget a mostrar os custom posts definidos por data (que é um custom field)?
Obrigado!
A visualizar 1 resposta (de um total de 1)
-
Olá Álvaro,
Talvez usando um Widget: http://wordpress.org/extend/plugins/custom-post-type-list-widget/
Outra forma seria usar uma wp_query para adicionar essa funcionalidade na sidebar.php
A visualizar 1 resposta (de um total de 1)
- O tópico ‘Custom post types + custom fields + sidebar’ está fechado a novas respostas.