Algunos requisitos.
Si usted quiere dar a conocer su Theme a la comunidad WordPress, hay una serie de requisitos obligatorios. Una vez que su diseño fue aprobado, el mismo es liberado. Se almacena en el directorio oficial y puede ser utilizado gratis por cualquier usuario.
Lo bueno de aprobar estos requisitos es que son tan exigentes que si pasamos estos… pasamos cualquiera. Se da por entendido que estos requisitos son para que el diseño en cuestion entre en el directorio oficial. Se da por sentado que uno puede difundir su theme cuenta propia. O bien venderlo.
De una forma u otra no esta mal saber, cuales son las condiciones que los mismos desarrolladores consideran necesarias. Porque mal que mal ayudan a ordenarse.
Se pide lo siguiente.
Código de Calidad.
No debe devolver errores. Debemos usar un debugger para depurar el codigo. Estos pueden ser, funciones inutilizadas (o sea obsoletas en nuevas versiones), variables no declaradas, etc.
Validación.
Repetimos nuevamente, en que es necesario que el código valide correctamente. El html por un lado, el CSS por el otro.
Cuidado con CSS 3 para bordes, transparencias y otras yerbas porque estos aun no validan del todo bien.
El DOCTYPE debe estar declarado de forma correcta.
Esto abarca las aperturas <html>
El XFN del head:
<head profile=”http://gmpg.org/xfn/11″> o <link rel = “perfil” href = http://gmpg.org/xfn/11 ” “/>
Que si realizamos el Theme en HTML5 quedamos salvados de ponerlo. No lo soporta.
Todo el contenido meta antes de las etiquetas <title>
<meta http-equiv=”Content-Type” content=”<?php bloginfo(‘html_type’); ?>;charset=<?php bloginfo(‘charset’); ?>
Y las etiquetas <tittle> que deben llevar dentro la función que obtiene el nombre de la bitácora. Que es:
bloginfo()
Namespaces o espacios de nombres.
Los Themes deben respetar la jerarquía que tienen por defecto en cuanto a nombres de archivos y también funciones y variables.
Los temas hijo o child themes son posibles gracias a esto. Es algo en lo que tengo la esperanza de profundizar mas adelante. No porque sea complejo sino porque merece un post aparte. Las ventajas de utilizarlos son muchas y alguna desventaja perdida por ahí debe haber.
La primera que encuentro a la vista, la mas notable es que perdemos entendimiento.Armando el Theme paso por paso, archivo por archivo, se aprende muchísimo. Incursionamos en PHP y conocemos el CMS a fondo.
Nota: en la actualidad, los temas niños (o hijos, o temas babosa
) no son actualmente elegibles para ser alojados en el repositorio de temas de WordPress. Todos deberán ser independientes.
Funcionalidad.
Debe llevar las siguientes funciones de forma obligatoria:
add_theme_support(‘automatic-feed-links’) <- Sindicación de noticias.
dynamic_sidebar() <- Un Sidebar “Widgetizable” que permita añadir Widgets. No todos los temas lo son. Cuidado con ese detalle. Quizás (en otro contexto) yo quiero quitar esta función para una solución acorde a mis necesidades.
register_sidebar() <- Igual que la anterior.
add_action(widgets_init), register_widget() <- Si el tema utiliza Widgets (creados por nosotros) personalizados. Estas funciones nos llevaran por buen camino.
- comments_template()
- wp_list_comments()
- comment_class()
- comment_form()
- wp_enqueue_script( ‘comment-reply’ )
Explicadas con anterioridad la gran mayoría. Para mas información remitirse al codex.
- Menús de Navegación. Cada día mas en uso:
- wp_nav_menu()
- register_nav_menu() o register_nav_menus() en functions.php
Post Thumbnails cada día más frecuentes en Themes con formato de magazine o revista. Se las llama con:
- the_post_thumbnail()
- add_theme_support(‘post-thumbnails’) en functions.php
Custom Header es la función que hace que el usuario desde su panel pueda poner cualquier imagen de cabecera. Cuando la habilitamos esto se vuelve posible.
Desde functions.php podremos setear cual es la medida que deberá tener ese header y la función es:
- add_custom_image_header()
Custom Background es similar al header pero para el cuerpo de la página.
- add_custom_background()
Visual Editor CSS:
- add_editor_style() en functions.php
- editor-style.css
Habilitamos al usuario la posibilidad de usar el editor CSS de WordPress.
A como de lugar nuestro diseño debe constar de lo siguiente:
- wp_head () – (inmediatamente antes de </ head>)
- body_class () – (en el interior <body>)
- $ Content_width
- post_class ()
- wp_link_pages ()
- paginate_comments_links () , o previous_comments_link () / next_comments_link ()
- posts_nav_link () , o previous_posts_link () / next_posts_link () , o paginate_links ()
- wp_footer () – (inmediatamente antes de </ body>)
Los archivos que debe incluir el Theme:
Como mínimo:
- index.php
- comments.php (via comments_template())
- header.php (vía get_header())
- screenshot.png de 300×225 pixels.
- style.css
Es recomendable:
- 404.php
- archive.php
- footer.php (via get_footer())
- page.php
- search.php
- sidebar.php (via get_sidebar())
- single.php
Opcional:
- attachment.php
- author.php
- category.php
- date.php
- editor-style.css
- image.php
- tag.php
Recomendado:
- Login Form: debe ser incluido usando wp_login_form()
- Search Form: debe ser incluido usando get_search_form()
Si el theme lleva archivos con nombres se que salen de lo establecido como por ejemplo:
- page-foobar.php
- category-foobar.php
- tag-foobar.php
- taxonomy-foobar.php
Se deben documentar.
Debe recordarse que las siguientes funciones están intrínsecamente ligadas a los siguientes nombres de archivo:
- get_footer () : footer.php
- get_header () : header.php
- get_sidebar () : sidebar.php
- comments_template () : comments.php
Java Script
Si queremos añadir un script en java script o jquery, primero se debe barajar la idea del plugin y el lenguaje php como solución. Si no podemos hacer uso de este deberemos incluir nuestros scripts utilizando la función:
wp_enqueue_script ()
Muy utilizado en Sliders y efectos llamativos.
Favicon.
No se recomienda implementar favicon personalizado. Si se hace:
- Debe estar desactivado por defecto.
- Debe brindar al usuario la posibilidad de elegir una imagen.
El Theme debe contar con la siguiente licencia en el archivo CSS:
Licencia: GNU General Public License v2.0
URI de licencia: http://www.gnu.org/licenses/gpl-2.0.html
Lo que quiere decir, completamente libre.
Sobre el nombre del Theme.
Los temas no pueden llevar la palabra WordPress en su nombre. Ejemplo: “Gran Tema WordPress.”
No pueden usar la palabra Theme tampoco. Ejemplo: “Mi hermoso Theme.”
Si se pueden usar las siglas WP. Ejemplo: “WP-Gran Árbol.”
El nombre del tema no puede llevar tu nombre!
Direcciones de referencia.
La dirección URL del tema debe apuntar a un sitio que tenga relación con el mismo.
La URL del autor debe apuntar allí. A la Web del autor.
Uno de estos dos enlaces debe ser mencionado como mínimo para darle un punto de contacto al usuario con la persona detrás del diseño.
Pueden llevar en el pie de página un enlace a una web x. El autor debe aclarar que esta url puede ser removida por el usuario.
No estaría mal poner un Readme.txt con instrucciones.
Si llegaste al final de esto sin abandonar la idea…
Llego la hora de bajar el test para themes. Consiste en un archivo xml que deberás importar en tu blog.
El mismo creara usuarios, páginas, entradas, categorías y algunas cosas mas. Si después de haber hecho todo esto, tu tema se ve genial…
Bingo.
Si el tema no se actualiza con el tiempo lo quitan de los repositorios. Es un dato que deberías tener en cuenta.

Pingback : Bitacoras.com