Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Columnas personalizadas en listado de contenido...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Braulio Aquino
March 28, 2015
1
130
Columnas personalizadas en listado de contenidos del wp-admin
Braulio Aquino
March 28, 2015
Tweet
Share
More Decks by Braulio Aquino
See All by Braulio Aquino
¿Cómo comenzar a realizar trabajos con WordPress?
braulioaquino
0
1.9k
Automatización en WordPress: Hooks & Cron
braulioaquino
2
280
Un mejor WordPress para tus clientes
braulioaquino
1
430
WordPress: Action & Filter Hooks
braulioaquino
1
310
Herramientas y recursos para editores
braulioaquino
0
320
Custom post types, fields & taxonomies
braulioaquino
0
190
De Blogger a WordPress
braulioaquino
0
71
Wordpress y el contenido externo
braulioaquino
0
180
Generando un API en JSON con WordPress
braulioaquino
0
430
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
230
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Evolving SEO for Evolving Search Engines
ryanjones
0
150
We Have a Design System, Now What?
morganepeng
55
8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
170
Code Review Best Practice
trishagee
74
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Site-Speed That Sticks
csswizardry
13
1.1k
Transcript
PERSONALIZAR COLUMNAS AL LISTAR CONTENIDO EN EL WP-ADMIN Braulio Aquino
BRAULIO AQUINO orange612.com @braulioaquino
Listado en panel de posts: título + autor + categorías
+ etiquetas + comentarios + fecha
Listado en panel de páginas: título + autor + comentarios
+ fecha
Listado en panel de custom post type: título + fecha
None
None
None
I DEFINIENDO LOS CAMPOS
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.
function posttype_columns($columns) { $new_columns = array( 'escuela' => 'Escuela', 'portada'
=> 'Portada', ); return array_merge( $columns, $new_columns ); } • Campos listados: titulo + … + fecha + escuela + portada
II COLOCANDO VALORES
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
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; } }
None
III HACIÉNDOLOS ORDENABLES
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.
function posttype_sortable_columns($columns) { $columns['escuela'] = 1; $columns['portada'] = 0; return
$columns; } • Booleanos: 0 para Falso y 1 para Verdadero.
IV OTRAS CONFIGURACIONES
IV - I NO COLOCAR LAS COLUMNAS AL FINAL DE
OTRAS
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; }
IV - II CAMBIAR NOMBRE A COLUMNAS
add_filter( 'manage_posttype_posts_columns', 'posttype_columns' ); function posttype_columns($columns) { $columns['author'] =>
'Escritor'; $columns['comments'] => 'Opiniones'; return $columns; }
IV - III ELIMINAR COLUMNAS
add_filter( 'manage_posttype_posts_columns', 'posttype_columns' ); function posttype_columns($columns) { unset( $columns['author'],
$columns['comments'] ); return $columns; }
IV - IV AGREGANDO RELACIONADOS CON ADVANCES CUSTOM FIELDS
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; }
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; } }
IV - V AGREGANDO IMÁGENES
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; }
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; } }
BRAULIO AQUINO braulioaquino.com orange612.com @braulioaquino
[email protected]
speakerdeck.com/braulioaquino