Columnas personalizadas en listado de contenidos del wp-admin

6ba65e44abea73ee048e9e9384cdf330?s=47 Braulio Aquino
March 28, 2015
78

Columnas personalizadas en listado de contenidos del wp-admin

6ba65e44abea73ee048e9e9384cdf330?s=128

Braulio Aquino

March 28, 2015
Tweet

Transcript

  1. 3.
  2. 6.
  3. 7.
  4. 8.
  5. 10.

    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.
  6. 11.

    function posttype_columns($columns) {
 $new_columns = array(
 'escuela' => 'Escuela',
 'portada'

    => 'Portada',
 );
 return array_merge(
 $columns,
 $new_columns
 );
 } • Campos listados:
 titulo + … + fecha + escuela + portada
  7. 13.

    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
  8. 14.

    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;
 
 }
 
 }
  9. 15.
  10. 17.

    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.
  11. 21.

    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;
 }
  12. 27.

    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;
 }
  13. 28.

    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;
 }
 
 }
  14. 30.

    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;
 }
  15. 31.

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