Cómo integrar la notificación de recordatorio de Slack con WordPress

Publicado: 2020-02-07

Con tantas demandas diferentes compitiendo por su atención en la vida moderna, puede ser fácil perder la noción de las muchas tareas importantes que se supone que debe realizar y, con suerte, recordar. Después de todo, un escritorio lleno de notas post-it garabateadas no puede hacer mucho para asegurarse de que recuerde algo importante, por lo que es muy probable que haya olvidado algo recientemente. Sin embargo, hay una manera de hacer que Slack le recuerde todas estas tareas cuando las necesite, y la buena noticia es que le mostraremos cómo configurarlas.

Puede haber una gran cantidad de cosas que quizás necesites que Slack te recuerde. El quién, qué, cuándo y por qué de un recordatorio es muy importante y puede abarcar cualquier cosa, desde configurar un recordatorio de una reunión con el gerente de su banco, enviar sus gastos de viaje a tiempo o un recordatorio de la fecha límite de un proyecto importante que se avecina. El ejemplo de recordatorio que usaremos en este blog es configurar un mensaje de "recordatorio de Slack de publicación de blog". Aunque siéntase libre de sustituir esto por cualquier tipo de recordatorio que sea más apropiado para usted y su situación.

Dada la importancia del SEO, la mayoría de las personas que administran sitios web son conscientes de que es vital actualizar regularmente y publicar nuevos blogs. Si bien las tareas necesarias para tener éxito en SEO son un secreto muy bien guardado, sabemos que publicar regularmente un nuevo blog es una excelente manera de ascender en el ranking de SEO de Google. Como tal, los propietarios de sitios web pueden estar interesados ​​en una aplicación para Slack que enviará una notificación a su canal de Slack si no ha publicado un nuevo artículo en su blog en los últimos 7 días. Con suerte, estos recordatorios lo ayudarán a administrar mejor sus artículos y blogs y también lo ayudarán a recordar que debe publicarlos a tiempo.

En este artículo, le mostramos cómo puede integrar la notificación de Slack con su blog de WordPress utilizando una aplicación que puede crear usted mismo.

Primeros pasos: crear una aplicación de Slack

Para comenzar, primero debe crear una aplicación dentro de su cuenta de Slack. Para hacer esto, vaya a la página de la API de Slack y presione el botón 'Crear nueva aplicación'.

Esto creará una ventana emergente. Complete los datos solicitados y será redirigido a una "página de configuración". En esta página de configuración, haga clic en 'Webhooks entrantes' en la sección izquierda. Cambie esta opción a "Activado".

Desplácese hacia abajo y haga clic en el botón "Solicitar agregar nuevo webhook". Si no es administrador, debe obtener la aprobación del administrador para acceder a esta opción.

Una vez que se apruebe la aplicación, haga clic en 'Instalar aplicación' en el menú del lado izquierdo. Y luego presione el botón 'Instalar aplicación en el espacio de trabajo'.

Elija el canal deseado en la página siguiente y haga clic en el botón 'Permitir'. Luego será redirigido a una página donde obtendrá su URL de Webhook. Copie esta URL ya que la necesitará en breve.

Enviar notificación en el canal de Slack desde WordPress

Ahora está listo para continuar, ya que tiene la URL del Webhook y también ha configurado el canal de Slack, donde se enviará la notificación. A continuación, debe escribir un código que envíe una solicitud POST junto con un mensaje a la URL del webhook. Esta URL de webhook publicará automáticamente el mensaje recibido en el canal de Slack elegido.

Entonces, hagamos un poco de codificación.

Calcular los días en que se publica el último artículo

Al enviar una notificación al canal de Slack, primero debe calcular los días desde que se publicó el último artículo. El siguiente código irá dentro de sus temas activos: archivo functions.php .

 <?php function get_daycount_of_last_blog_posted(){   $args=array(        'post_type' => 'post',        'post_status' => 'publish',        'posts_per_page' => 1,    );    $datediff = 0;    $blog_posts = new WP_Query( $args );    if ( $blog_posts->have_posts() ) :  while ( $blog_posts->have_posts() ) : $blog_posts->the_post();   $datediff = time() - strtotime(get_the_date());      endwhile;        wp_reset_postdata();    endif;    if ($datediff) return round($datediff / (60 * 60 * 24));   return $datediff; }

Este código y método obtendrá la última publicación agregada de la base de datos de WordPress y calculará los días entre que la solicitó y cuando se publicó el último artículo.

Enviar solicitud POST a Webhook

WordPress proporciona una función wp_remote_post() que realiza una solicitud HTTP y recibe la respuesta. Con este método, enviaremos nuestro mensaje personalizado al webhook.

Cree un archivo de notification.php en el directorio raíz de su proyecto de WordPress y agréguele el siguiente código.

 <?php require_once('wp-load.php'); $slack_webhook_url = 'YOUR_WEBHOOK_URL'; $last_blog_day_count = get_daycount_of_last_blog_posted(); if($last_blog_day_count > 5) { $msg = 'Hey team, our app found that we have not added new article on UpdraftPlus for more than 5 days. Please look into it.';    // Prepare the data / payload to be posted to Slack  $data = array(        'payload'   => json_encode( array(                "text" =>  $msg,            )        )    );    // Post our data via the slack webhook endpoint using wp_remote_post  wp_remote_post( $slack_webhook_url, array(            'method' => 'POST',            'body' => $data,        )    ); }

Este código publicará un mensaje en la URL del Webhook si no se agrega un artículo nuevo durante más de 5 días en su blog. Como resultado, recibe una notificación en su canal de Slack seleccionado.

Pon cron en tu servidor

Nuestro objetivo es crear un sistema automatizado que notifique al equipo sobre esta tarea en un canal específico de Slack. Debido a esto, creamos un archivo PHP en la carpeta raíz del proyecto de WordPress. Al configurar cron con este archivo en su servidor, puede configurar su aplicación Slack para que se ejecute automáticamente.

La configuración de cron en el servidor puede diferir según su proveedor de alojamiento. Por el bien de este tutorial, daremos un ejemplo sobre cómo configurar cron en el CPanel del alojamiento web de Media Temple.

Inicie sesión en su CPanel. Seleccione 'Trabajos cron' en la sección "Avanzado".

En la página siguiente, elija la opción 'Una vez al día (0 0 * * *)' en el menú desplegable 'Configuración común'. Esto significa que el cron ejecutará el script una vez al día.

Finalmente, en el campo Comando agregue la siguiente declaración ajustando su ruta de archivo de notification.php .

 <pre>/usr/local/bin/php /home/xyz/public_html/notification.php</pre>

¡Eso es todo!

Al seguir este tutorial, ahora puede crear su propia aplicación de Slack para usted y su equipo. Esto sin duda ayudará a todos a mantenerse al día con los blogs programados y garantizará que no se pierda ninguna fecha importante.

La publicación Cómo integrar la notificación de recordatorio de Slack con WordPress apareció primero en UpdraftPlus. UpdraftPlus: complemento de copia de seguridad, restauración y migración para WordPress.