Cómo cargar WordPress en una página que no es de WP
Quiero usar la función get_option()
de WordPress en uno de los archivos de mi tema, que no está relacionado con WP, solo está ubicado en el mismo directorio que los demás archivos del tema. Necesito este archivo para algunas acciones adicionales relacionadas con IPN de PayPal, pero requiero algunos valores de la tabla de opciones de WP para que funcione. Sé que no puedo simplemente usar get_option()
ya que este archivo no es procesado por WordPress. ¿Existe algún enfoque para incluir algunas partes de WordPress en mi tema y hacer que esta funcionalidad funcione?

La forma más corta es cargar wp-load.php
y abortar la carga del motor de plantillas (Nota: No podrías hacer esto si estuvieras cargando el archivo de cabecera, como se ve en muchos sitios de Internet).
# No se necesita el motor de plantillas
define( 'WP_USE_THEMES', false );
# Cargar el núcleo de WordPress
// Asumiendo que estamos en un subdirectorio: "~/wp-content/plugins/current_dir"
require_once( '../../../wp-load.php' );

¿Hay más documentación sobre WP_USE_THEMES
además de https://codex.wordpress.org/The_Loop? :)

@jave.web Claro: La búsqueda cruzada en el código fuente.

Esto debería funcionar en cualquier instalación de WordPress:
<?php
function load_wp_load() {
$wp_did_header = true;
require_once($_SERVER['DOCUMENT_ROOT'] . '/index.php');
$matches = preg_grep('/wp-blog-header.php/', get_included_files());
if (!empty($matches)) {
$abspath = dirname(reset($matches)) . '/';
define('ABSPATH', $abspath);
require_once(ABSPATH . 'wp-load.php');
}
}
?>
