El Blog de Alex Borrás » Posts in 'Build' category

Desarrollar un Plugin para WordPress

Ojo: Notas sueltas, no es un manual. Basado en el Plugin Club

register_activation_hook(__FILE__, ‘club_activate’ )

Define que función se debe llamar cuando se activa el Plugin

add_filter(’the_content’, ‘club_competitions’)

Añade un filtro en el contenido de un Post o una página, cuando se cargue el post se llamará a esta función: club_competitions(). Dentro de esta función debemos evaluar si nos está llegando un parámetro de carga especial de contenidos, por ejemplo para ver una lsita de competiciones pediremos al usuario que ponga en su Post o Página: [competitions].

Parece ser que sólo funciona un add_filter por Plugin, al poner 2 sólo entra en el primero.

dbDelta($sql);

Cuando se hace un SQL múltiple con $wpdb->query($sql) no funciona con dbDelta($sql) si

Errores

1) Un error difícil de encontrar:

En club-admin.php se definen los submenu_page y los archivos relacionados con cada submenu.

Si en uno de los archivos como puede ser club-players.php utilizamos como variable global $action en vez de definir una específica como $action_players entonces aparentemente WordPress funciona pero al intentar modificar una entrada o página no funciona, y tampoco publica.

2) Hay dos add_filter, las funciones están en el mismo fichero club-page.php. Si ponemos los dos Tags [...] en la misma entrada o página entonces sólo se ejecuta el primero.

VN:F [1.4.6_730]
Rating: 0.0/5 (0 votes cast)
Posted in Build
Tags: ,

WordPress Multilenguage

Para desarrollar un Plugin o Widget multiidioma una de las opciones es utilizar los archivos MO y PO.

Voy a comentar los ejemplos basándome en el ejemplo de desarrollo del plugin Club que estoy desarrollando, complemento para que Clubs de Fútbol puedan introducir los datos de Equipos, Jugadores y Resultados de Competiciones en WordPress. Como programa para realizar la generación de ficheros utilizo el Poedit, hay que tener en cuenta que este no es un programa de traducción si no de apoyo al desarrollo, para la traducción uso Google Traductor.

Todos los literales que vayamos a utilizar en nuestro Plugin deberán ponerse de la siguiente forma:

__(”Add a new team”, CLUB)
Devuelve el valor de la variable “Add a new team” traducida en el dominio Club
_e(”Add a new team”, CLUB)
Hace echo de la variable “Add a new team” traducida en el dominio Club

No necesariamente el texto de la variable ha de coincidir con el texto real, sería incómodo, un ejemplo de esto es:

__(”helpClubID”, CLUB) que devuelve:
“Para ver una lista de los equipos de tu club crea un página e incluye en el contenido de la misma:<br>[ClubID]“

Inicialmente he puesto todos los literales y comentarios del Plugin en inglés de cara a la internacionalización del Plugin.

Cada idioma tiene 2 archivos, los originales son el club.mo y club.po que contienen la traducción de las etiquetas

VN:F [1.4.6_730]
Rating: 0.0/5 (0 votes cast)
Posted in Build
Tags: ,