¿Quieres añadir una columna a tus páginas de administración mostrando la plantilla de página de WordPress activa? Si necesita mostrar información adicional en su panel de control de WordPress, hemos creado un fragmento de código rápido que puede utilizar para añadir una columna personalizada con la plantilla de página activa actualmente.
Instrucciones:
Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en un plugin específico del sitio:
add_filter( 'manage_pages_columns', 'page_column_views' ); add_action( 'manage_pages_custom_column', 'page_custom_column_views', 5, 2 ); function page_column_views( $defaults ) { $defaults['page-layout'] = __('Template'); return $defaults; } function page_custom_column_views( $column_name, $id ) { if ( $column_name === 'page-layout' ) { $set_template = get_post_meta( get_the_ID(), '_wp_page_template', true ); if ( $set_template == 'default' ) { echo 'Default'; } $templates = get_page_templates(); ksort( $templates ); foreach ( array_keys( $templates ) as $template ) : if ( $set_template == $templates[$template] ) echo $template; endforeach; } }
Nota: Si es la primera vez que añades fragmentos de código en WordPress, consulta nuestra guía sobre cómo añadir correctamente fragmentos de código en WordPress, para no romper accidentalmente tu sitio.
Si te ha gustado este fragmento de código, por favor, considere la posibilidad de revisar nuestros otros artículos en el sitio como: 62 mejores temas gratuitos para blogs de WordPress y 15 mejores herramientas y plugins de marketing de contenidos para WordPress.
Very nice 🙂 Thanks for sharing!
Excellent code! Exactly what I wanted to do and done with a simple copy and paste.
Glad it helped, Scott!
Thank you!
This works great, but I am really struggling with sorting the column. I managed to make the column sortable. eg. I can click on the column title, and it definitely does something, but I think it is just reversing the natural order upside down :(, and what I need is to sort alphabetically by the template name.