Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Columnas personalizadas en listado de contenido...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Braulio Aquino Braulio Aquino
March 28, 2015
130

Columnas personalizadas en listado de contenidos del wp-admin

Avatar for Braulio Aquino

Braulio Aquino

March 28, 2015
Tweet

Transcript

  1. add_filter(
 'manage_posttype_posts_columns',
 'posttype_columns'
 ); • manage_posttype_post_columns:
 Hook que identifica los

    campos de los listados.
 • posttype_columns:
 Nombre de la función que se ha de ejecutar.
  2. function posttype_columns($columns) {
 $new_columns = array(
 'escuela' => 'Escuela',
 'portada'

    => 'Portada',
 );
 return array_merge(
 $columns,
 $new_columns
 );
 } • Campos listados:
 titulo + … + fecha + escuela + portada
  3. add_action(
 'manage_posttype_posts_custom_column',
 'posttype_custom_columns',
 10, 2
 ); • manage_posttype_posts_custom_column:
 Hook que

    se ejecuta cuando se carga los campos listados.
 • posttype_custom_columns:
 Nombre de la función que se ha de ejecutar. • 10, 2:
 Prioridad 10 con 2 variables
  4. function posttype_custom_columns($column,$post_id) {
 
 switch ($column) {
 
 case 'portada'

    :
 if (get_post_meta($post_id,'portada',true))
 echo 'Sí';
 else
 echo 'No';
 break;
 
 case 'escuela' :
 echo get_post_meta($post_id,'escuela',true);
 break;
 
 }
 
 }
  5. add_filter(
 'manage_edit-posttype_sortable_columns',
 'posttype_sortable_columns'
 ); • manage_edit-posttype_sortable_columns:
 Hook que identifica los

    campos ordenables en los listados.
 • posttype_sortable_columns:
 Nombre de la función que se ha de ejecutar.
  6. add_filter(
 'manage_posttype_posts_columns',
 'posttype_columns'
 );
 
 function posttype_columns($columns) {
 $columns =

    array(
 'cb' => '<input type="checkbox" />',
 'title' => __('Title'),
 'escuela' => 'Escuela',
 'portada' => 'Portada',
 'date' => __('Date'),
 );
 return $columns;
 }
  7. add_filter(
 'manage_posttype_posts_columns',
 'posttype_columns'
 );
 
 function posttype_columns($columns) {
 $columns =

    array(
 'cb' => '<input type="checkbox" />',
 'title' => __('Title'),
 'escuela' => 'Escuela',
 'date' => __('Date'),
 );
 return $columns;
 }
  8. add_action(
 'manage_posttype_posts_custom_column',
 'posttype_custom_columns',
 10, 2
 ); 
 
 function posttype_custom_columns($column,$post_id)

    {
 
 switch ($column) {
 case 'escuela' :
 $escuela = get_field('escuela');
 echo $escuela->post_title;
 break;
 }
 
 }
  9. add_filter(
 'manage_posttype_posts_columns',
 'posttype_columns'
 );
 
 function posttype_columns($columns) {
 $columns =

    array(
 'cb' => '<input type="checkbox" />',
 'miniatura' => 'Miniatura',
 'title' => __('Title'),
 'author' => __('Author'),
 'date' => __('Date'),
 );
 return $columns;
 }
  10. add_action(
 'manage_posttype_posts_custom_column',
 'posttype_custom_columns',
 10, 2
 ); 
 
 function posttype_custom_columns($column,$post_id)

    {
 switch ($column) {
 case 'miniatura' :
 if ( has_post_thumbnail( $post_id ) ) {
 echo get_the_post_thumbnail( $post_id );
 }
 break;
 }
 }