¿Cómo crear un post destacado dentro de un tipo de post personalizado?
¿Se hace exactamente igual que con los posts normales? Yo uso una variable global $featured_cat y la extraigo. ¿Debería hacer lo mismo aquí?
¿O debería usar una taxonomía personalizada asociada? ¿O quizás estoy pensándolo demasiado? ¿Realmente habría beneficio con taxonomías?
¿Cuál es el enfoque correcto aquí, chicos?

Registrar un tipo de publicación de video y un "Taxonomía destacada" "Selector de meta personalizado destacado"
El tipo de publicación:
function c3m_reg_vid_post() {
$labels = array(
'name' => _x('Videos', 'post type general name'),
'singular_name' => _x('Video', 'post type singular name'),
'add_new' => _x('Añadir nuevo', 'video'),
'add_new_item' => __('Añadir nuevo video'),
'edit_item' => __('Editar video'),
'new_item' => __('Nuevo video'),
'view_item' => __('Ver video'),
'search_items' => __('Buscar videos'),
'not_found' => __('No se encontraron videos'),
'not_found_in_trash' => __('No hay videos en la papelera'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'rewrite' => array('slug' => 'video', 'with_front' => false),
'capability_type' => 'post',
'register_meta_box_cb' => 'c3m_video_meta', //Esto es para nuestra meta box personalizada
'hierarchical' => false,
'menu_position' => 10,
'taxonomies' => array('featured'),
'supports' => array('title', 'editor' 'custom-fields')
);
register_post_type('video', $args );
}
###La Taxonomía
Pensándolo mejor, usemos un campo personalizado para el video destacado y creemos un cuadro de selección desplegable personalizado para elegir si la publicación está destacada.
Configurar el meta box personalizado:
//hook para añadir un meta box
add_action( 'add_meta_boxes', 'c3m_video_meta' );
function c3m_video_meta() {
//crear un meta box personalizado
add_meta_box( 'c3m-meta', 'Selector de Video Destacado', 'c3m_mbe_function', 'video', 'normal', 'high' );
}
function c3m_mbe_function( $post ) {
//recuperar los valores de metadatos si existen
$c3m_mbe_featured = get_post_meta( $post->ID, '_c3m_mbe_featured', true );
echo 'Selecciona sí abajo para destacar el video';
?>
<p>Destacado:
<select name="c3m_mbe_featured">
<option value="No" <?php selected( $c3m_mbe_featured, 'no' ); ?>>De ninguna manera</option>
<option value="Yes" <?php selected( $c3m_mbe_featured, 'yes' ); ?>>¡Claro que destaca este video!</option>
</select>
</p>
<?php
}
//hook para guardar los datos del meta box
add_action( 'save_post', 'c3m_mbe_save_meta' );
function c3m_mbe_save_meta( $post_ID ) {
global $post;
if( $post->post_type == "video" ) {
if ( isset( $_POST ) ) {
update_post_meta( $post_ID, '_c3m_mbe_featured', strip_tags( $_POST['c3m_mbe_featured'] ) );
}
}
}
}
Aquí está nuestro pequeño y genial selector de videos destacados que acabamos de crear:
Ahora consultemos los videos que están destacados:
$args = array(
'post_type' => 'video',
'meta_query' => array(
array(
'key' => 'c3m_mbe_featured',
'value' => 'yes',
'compare' => 'NOT LIKE'
)
)
);
$query = new WP_Query( $args );

Entendido, pero me encantaría ver un ejemplo usando taxonomía personalizada para un tipo de publicación personalizada de videos.
¿alguien?

Creo que las "Publicaciones fijas" no son compatibles con tipos de publicaciones personalizadas. Al menos este ticket relevante fue revertido.
