Donar un Theme a la comunidad Wordpress: requisitos

  • Autor Autor lordoracle
  • Fecha de inicio Fecha de inicio

lordoracle

Beta
Social Media
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Quisiera compartir con ustedes un post que realice en mi blog sobre como donar un theme a la comunidad Wordpress. Lo que se dice simple no es. Pero claro que todos conocemos los beneficios de que un theme nuestro ingrese en los repositorios de WP. Aca van todos los requisitos que yo encontre en el codex. Dejando de lado si quieren o no quieren donar su tema ahí, es útil.

Digo que lo es porque si cumplimos con estos requisitos, seguro pasaremos otros mucho más exigentes como ThemeForest. Ante cualquier duda no duden en consultar.

Comenzando:

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:

Insertar CODE, HTML o PHP:
<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>

Insertar CODE, HTML o PHP:
<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.

Insertar CODE, HTML o PHP:
    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:

Insertar CODE, HTML o PHP:
     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:

Insertar CODE, HTML o PHP:
    add_custom_image_header()

Custom Background es similar al header pero para el cuerpo de la página.
Insertar CODE, HTML o PHP:
    add_custom_background()



Visual Editor CSS:


Insertar CODE, HTML o PHP:
    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:



Insertar CODE, HTML o PHP:
    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:
Insertar CODE, HTML o PHP:
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: GNU General Public License v2.0 - GNU Project - Free Software Foundation (FSF)

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.

Gonzalo Caminos.

Fuente: Enlace eliminado.
 
Última edición:
gracias por el aporte amigo :encouragement:
 
Gracias a ustedes por leer!
 
Genial, una información muy útil. Slds!