Conexión a WordPress con C#

En este post, veremos cómo conectar a WordPress el sitio web usando C# y hacer publicaciones usando la biblioteca WordPressPCL en tres sencillos pasos.

WordPress es un gran CMS que permite a los desarrolladores y a las personas que no necesitan muchos conocimientos de desarrollo de software crear sitios web con funcionalidades impresionantes. Por lo tanto, es una de las herramientas más populares utiliza actualmente para construir sitios web.

Este CMS es muy flexible para crear funcionalidades personalizadas, aunque es muy posible que exista como un plugin que se pueda instalar al sitio. WordPress tiene una gran comunidad de desarrolladores con mucha experiencia con la plataforma donde se pueden encontrar soluciones para casi todo el problema que se pueda tener.

Lo que ocurre con WordPress es que está construido en PHP, por lo que si no conoces el lenguaje puedes perder tiempo en el proceso de aprender y luego implementar lo que quieres hacer.

A continuación, veremos cómo configurar un proyecto de visual studio con c# para conectarse a un sitio web con WordPress, que es una buena solución para los desarrolladores .Net que no tienen buenos conocimientos de PHP.



1. Configurar la API de WordPress en tu sitio web Configurar la API de WordPress en tu sitio web

En primer lugar, necesitas configurar tu sitio para tener habilitada la API que permite leer y escribir en WordPress. Los requisitos previos para conectarse a WordPress con WordPressPCL es instalar los siguientes plugins en su sitio web:

A continuación, para completar la configuración de JWT es necesario añadir algunas modificaciones al archivo .htaaccess:

    • En primer lugar, habilitar el encabezado de autorización HTTP añadiendo lo siguiente:
 RewriteEngine on
    RewriteCond %{HTTP:Authorization} ^(.*)
    RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
    • Entonces habilita el WPENGINE añadiendo este código en el mismo archivo .htacess:

    SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

El JWT necesita una clave secreta para firmar el token esta clave secreta debe ser única y nunca revelada.

Para añadir la clave secreta edita tu archivo wp-config.php y añade una nueva constante llamada JWT_AUTH_SECRET_KEY.

 define('JWT_AUTH_SECRET_KEY', 'your-top-secrect-key');.

Puedes generar y utilizar una cadena desde aquí https://api.wordpress.org/secret-key/1.1/salt/

Puedes ver todos los detalles desde la documentación aquí.



2. Instalar WordPressPCL desde los paquetes Nuget

Ahora necesitas instalar el paquete de WordPress nuget desde Visual Studio llamado WordPressPCL. Para abrir el gestor de paquetes nuget haz clic con el botón derecho del ratón sobre tu proyecto en Visual Studio y luego haz clic en Administrar paquete nuget.

Entonces busca WordPressPCL y haz un clic derecho en Instalar.

También puedes instalar los paquetes utilizando la consola de paquetes nuget insertando los siguientes comandos:

Install-Package WordPressPCL -Version 1.5.0

¿Qué puedes hacer con WordPressPCL? Bueno, la siguiente tabla muestra los métodos soportados a los que tienes acceso utiliza.

Ahora que hemos configurado e instalado todo lo necesario, vamos a ver cómo podemos crear, actualizar y consultar datos desde WordPress.

Ejemplo 1: Conectando a WordPress

Para conectar con el cliente de WordPress puedes utilizar la clase WordPressClient que acepta en su constructor la URL de tu sitio web. Ejemplo http://domain-example.com/wp-json/. Donde el /wp-jon/ es la ruta por defecto a la API REST de WordPress.

private static async Task< WordPressClient> GetClient()
        {
            // Autenticación JWT
            var cliente = new WordPressClient("http://wordpress-domain.com/wp-json/");
            client.AuthMethod AuthMethod.JWT;
            await client. RequestJWToken("usuario", "contraseña");.
            return cliente;
        }


Ejemplo 2: creando y actualizando datos

using System;
using System.Linq;
using System.Threading.Tasks;
using WordPressPCL;
using WordPressPCL.Models;

namespace WordPressTest
{
    class Program
    {
        static void Main(string[] args)
        {
            CreatePost().Wait();
        }

        private static async Task CreatePost()
        {
            try
            {
                WordPressClient client = await GetClient();
                if (await client.IsValidJWToken())
                {
                    var post = new Post
                    {
                        Title = new Title("New post test"),
                        Content = new Content("Content for new post.")
                    };
                    await client.Posts.Create(post);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error:" + e.Message);
            }
        }

        private static async Task<WordPressClient> GetClient()
        {
            // JWT authentication
            var client = new WordPressClient("http://wordpress-domain.com/wp-json/");
            client.AuthMethod = AuthMethod.JWT;
            await client.RequestJWToken("user", "password");
            return client;
        }
    }
}

Ejemplo 3: Obtención de datos

Consultar los datos es fácil como puedes ver a continuación:


    var cliente = GetClient();

    //Getting all the post
    var posts =await client. Posts.GetAll();

    //Elección de un puesto
     var onePost = await client. Posts.GetByID(1);.

Puedes descargar estos ejemplos desde mi cuenta de Github en el proyecto WordPressTest y para más información sobre la API WordPressPCL, puedes consultar la documentación oficial aquí: Documentación de WordPressPCL en Github.

Espero que os pueda ayudar a tener una buena introducción a de cómo conectar con una web de WordPress usando .Net.

Por favor hágame saber si tiene algún amigo.

Post original: Paso a paso para conectar con WordPress usando C Sharp

Categorías : # wordpress

Deja una respuesta

Tu dirección de correo electrónico no será publicada.