Seguimos con otro gran artículo del #MaratonWP que estaremos realizando durante todo el día de hoy para celebrar el 10º aniversario de Ayuda WordPress. Sigue atento que cada hora habrá sorpresas, con regalos y más trucos WordPress, y no te pierdas el hashtag de Twitter #10AniversarioAyudaWP.
En primer lugar quisiera agradecerte Fernando que hayas pensado en mi para participar en el décimo aniversario de Ayudawp, es todo un honor.
Soy de los que defiende aquello de: a veces no hace falta instalar un plugin si puedes hacer lo mismo con dos líneas de código.
Entrando un poco más en detalle en el significado de la frase, y extrapolándolo a la vida real, en prácticamente todos los proyectos web suelo agregar snippets de código al functions.php del tema o a un plugin de utilidades.
De este modo me evito instalar decenas de plugins para tareas o funcionalidades concretas, lo tengo todo en un mismo sitio.
Estos snippets son funciones útiles, que realizan acciones o tareas concretas, y que suelen utilizarse bastante o son muy genéricas y se adaptan a cualquier cliente o proyecto.
El que comparto a continuación, es un snippet que obliga a un usuario a añadir una imagen destacada. Es decir, no le dejamos publicar el post si no ha establecido una imagen, de este modo evitamos un posible despiste, y probablemente que se rompa el diseño de nuestro sitio al faltar este elemento en un listado.
Para ello, basta con añadir al functions.php el siguiente código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function featured_image_required($hook) { if ( 'post.php' != $hook && 'post-new.php' != $hook ) { return; } wp_enqueue_script( 'featured-image-required', get_theme_file_uri('/js/myscript.js') ); } add_action( 'admin_enqueue_scripts', 'featured_image_required' ); |
Esto simplemente encola un fichero JS en nuestro dashboard, y es ahí donde controlaremos si el usuario ha establecido la imagen o no:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | jQuery(document).ready(function ($) { $('#post').submit(function() { if ($("#set-post-thumbnail").find('img').size() > 0) { return true; }else{ alert("¡No olvides establecer una imagen destacada!"); return false; } return false; }); }); |
Si el post tiene imagen lo publicará, en caso contrario mostrará una alerta al usuario indicando que se le ha olvidado añadir la imagen.
Espero que os haya gustado el truco y os sea útil.
Pablo López
En el mundo del desarrollo web desde 2005 y WordPressero desde 2011. Fan de WordPress y del software libre, defensor de la P mayúscula, me gusta la optimización de los desarrollos y el código limpio y bien indentado.
Desarrollo con WordPress siempre pensando en la seguridad, el rendimiento, la robustez y la escalabilidad. Intento siempre seguir las buenas prácticas y los estándares. Con la mente abierta, dispuesto a aprender y tratando de hacer cada proyecto un poco mejor que el anterior.
Actualmente trabajo como WordPress Manager en UNIR y soy autor del blog desarrollowp.com (https://desarrollowp.com) donde semanalmente comparto noticias, tutoriales, trucos y consejos sobre WordPress.
Además ayudo a organizar el grupo de meetup de Madrid WordPress y la WordCamp Madrid.
También me puedes encontrar en Twitter (https://twitter.com/