¿Te ha pasado?, tienes una página externa y te gustaría recuperar contenido de tu sitio que esta WordPress, o tienes un sitio web externo y te gustaría validar si un usuario se ha registrado en tu WordPress.
Para estos y otros escenarios similares necesitamos usar las funciones de WordPress de manera externa, es decir fuera de WordPress.
Generalidades
Según la documentación oficial para Integrar tu sitio con WordPress, se debe usar el siguiente código al inicio de cada archivo que requiera usar la funcionalidad de WordPress:
<?php
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
?>
Tener en cuenta :
- La constante WP_USE_THEMES está establecida a falso, eso quiere decir que no se cargará la funcionalidad del theme de WordPress.
- La función require hace referencia al archivo que se encuentra en la raíz de nuestro sitio, este archivo de WordPress es el que se encarga de cargar la funcionalidad.
Ejemplo de uso
El siguiente código es un archivo .php, independiente de WordPress, que se encuentra dentro de una carpeta, en la raíz del sitio.
- Se usa el código de llamada a la funcionalidad de WordPress en la cabecera del archivo.
- Usamos la variable global de WordPress para verificar si un usuario está conectado al sitio.
- La otra parte del código recupera las tres entradas recientes a través de un loop.
¿Aún con dudas?, en el siguiente video se explica el ejemplo anterior con más detalle.
hola al usar lo que dices aqui me salio en mi web un error de header que crees que sera
Hola, supongo que te refieres a la llamada al archivo wp-blog-header.php, tendrías que ver la ruta en la que estas usando el código ya que es posible que sea incorrecta, revisa el video.
buenas. y como mostraria un plugin?
No entiendo tu pregunta, este artículo es sólo para usar funciones de WordPress fuera de WordPress en tu mismo alojamiento, si quieres hacer un plugin mejor revisa: https://decodecms.com/generador-de-plugins-base-para-wordpress/
Buenas tardes,
Me aparece el siguiente error y no se de que pude ser.
Fatal error: require_once(): Failed opening required ‘/kunden/homepages/46/xx/htdocs/xx/xx../wp-blog-header.php’ (include_path=’.:/usr/lib/php7.3′) in /homepages/46/xx/htdocs/xx/xx/blog-wordpress.php on line 238
Hola, al parecer la ruta relativa es incorrecta, debes verificar en donde tienes el archivo, en el ejemplo estaba dentro de una carpeta pero bajo el propio WordPress. Saludos.
Llevo…..como 1 semana peleando con un plugin….que me daba error 500….y hoy gracias a tí lo acabo de resolver no tengo palabras de agradecimiento, sigue con tu magnífica labor, un saludo.
Gracias Manuel. Saludos.
Hola Jhon, saludos. y darte las gracias por compartirnos estos conocimientos. Una pregunta con respecto a esto: Cuando dices que podemos tomar las funcionalidades de wordpress de esta manera, Tambien incluye que podemos tomar funcionalidades de los plugins y los temas que tenga instalados WordPress? Quiero tomar las funcionalidades de varios plugin (AffiliateWP, GiveWP, y un plugin de pago con Cryptomonedas) para poder :
1. O crear un nuevo plugin que vaya tomando las funciones y de alguna manera trabaje como el algoritmo por decirlo asi, que yo necesito?
2. Tomar las funcionalidades (Funciones ) que estan presentes en estos plugin e irlas Fusionando para lograr el objetivo de que me funcione en la forma deseada? es esto posible por este ardid o truco? Tienes mas informacion o enlaces que puedas compartirnos por este medio? te agradezco la info. quedo atento.
Hola Rodolfo
Si puedes tomar la funcionalidad y lógica de temas y plugins, aunque lo mejor, si estas construyendo un plugin, sería reescribirlas, o en caso no quieras reescribir funciones tu plugin sería una especie de integrador de otros plugins y dependería de que estos estén instalados y tengan la versión en la que trabajaste para funcionar.
En resumen, siempre puedes revisar el código de otros, pocas veces terminarás usando la funcionalidad ya hecha sin ningún cambio, lo usual es cambiar el código y adaptarlo a tus necesidades.
Hola Jhon.
implementé el mismo código que tienes pero, no me trae el id del usuario conectado
Hola, he probado recientemente y si funciona, prueba mostrando el ID del usuario actual: