Usar funcionalidades WordPress fuera de la raiz de WordPress

Fantástico ejemplo de como poder utilizar cualquier funcionalidad de WordPress fuera de la raíz en la que este instalado el CMS en cuestión.

Wordpress Booking Calendar

A raíz de una necesidad reciente, precisaba insertar un sistema de reservas para una casa rural (ya hemos hablado de esta web en entradas anteriores) que tiene por un lado la web corporativa y por otro el blog montado con WordPress; es por tanto que me surge la idea de utilizar algún plugin ya existente de WP en la parte de la web corporativa, así pues, he decidido utilizar el plugin llamado “Booking Calendar“que es ampliamente conocido y que posee una curva de aprendizaje muy baja, por lo que al propietario de la web no le costara demasiado gestionar las reservas del establecimiento.

Pues vamos al grano; en WordPress se provee la extensión de funcionalidades mediante acciones (actions), que permiten por lo tanto disponer de mejoras o añadidos sin tener que modificar el núcleo de WordPress y evitar de esta forma tener que modificar todos nuestros cambios si actualizamos WP a nuevas versiones. El uso de los actions es en principio fácil de entender e implementar a nivel interno, es decir, en post o pages que creemos en la parte del blog. Para esto tenemos dos opciones, usar los actions que WP ya nos facilita o crear nuestros propios actions y después lanzarlos de la misma forma:

Creando una acción:

<?php add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1); ?> 

Esta función que tanto hemos visto en plugins o código que hemos mostrado para extender WordPress, hace una función muy importante y cada parámetro aporta un grado más de personalización.

  • $tag: Nombre del action (ahora los veremos).
  • $function_to_add: Nombre de la función que ejecutaremos al activarse el action ($tag).
  • $priority: Prioridad de ejecución, de menor a mayor.
  • $accepted_args: Aceptamos (o no) el paso de parámetros a nuestra función.

Una vez creada o una vez conozcamos la acción a lanzar, solo nos queda llamar a do_action:

do_action($tag, $arg= );
 

Aplicando estas nociones fuera de WordPress

Como hemos visto antes es posible crear y lanzar acciones para extender funcionalidades de WordPress, pero ahora bien, que pasa si queremos añadir alguna funcionalidad fuera de la raíz de la instalación del CMS, pues aquí tenemos una forma muy sencilla y efectiva de hacerlo:

<?php

require( ‘../raiz_instalacion_wordpress/wp-load.php’ );

do_action(‘wpdev_bk_add_form’, 1, 2);
?>

Como podemos observar este es el sencillo código que debemos insertar en la pagina que deseemos fuera de nuestro WP, debemos hacer un require de wp_load.php que se encuentra en la raíz de nuestra instalación antes de realizar el do_action que en nuestro caso embeberá el sistema de Bookin Calendar en la pagina de reservas, que incorpora tres parámetros que Booking Calendar nos provee, puesto que ellos mismos ya han creado dos tipos de acciones que podemos utilizar y que son:

  • wpdev_bk_add_form: Esta es la acción que nos presentara el sistema de calendario y el formulario de reserva.
  • 1: Es el tipo de calendario, este parametro se llama $bookingtype en Booking Calendar.
  • 2: Es el numero de meses a mostrar, este parametro se llama $calendar_count en BC.

 

Ampliar información: wpengineer.com

Anuncios

2 thoughts on “Usar funcionalidades WordPress fuera de la raiz de WordPress

  1. He añadido el plugin Booking Calendar en una página web. Cuando envías el formulario, te sale como enviado con el mensaje de gracias, pero no llega el aviso al correo electrónico.
    ¿Dónde puede estar el problema?

    Me gusta

    • Hola María,
      Supongo que te refieres a los mail que llegan al dueño del establecimiento no?
      Si es así, asegúrate de revisar la configuración de Booking Calendar, en SETTINGS –> GENERAL –> “Admin email”
      También revisa los tipos de correo que se envían en: SETTINGS –> EMAILS

      Si ya has revisado esto y sigues sin recibir/enviar emails entonces es probable que sea problema de tu hosting y del modulo de correo de PHP.

      Un saludo.

      Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s