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

Columnas personalizadas en listado de contenidos del wp-admin

Braulio Aquino
March 28, 2015
99

Columnas personalizadas en listado de contenidos del wp-admin

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;
 }
 }