La Ruta Absoluta (ABSPATH) en WordPress no funciona
Actualmente estoy trabajando en una pequeña tarea que almacena información de un plugin en la base de datos, pero tengo un problema para incluir el archivo que contiene las funciones para ejecutar la consulta.
Aquí está la línea que incluye el archivo:
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
pero cuando ejecuto el código obtengo lo siguiente:
Warning:
require_once(ABSPATHwp-admin/includes/upgrade.php)
: failed to open stream: No such file or directory in/home/najam/dev/project1/wordpress/wp-admin/admin-insert.php
on line 18
He buscado mucho pero no he podido encontrar nada útil o de ayuda.
EDICIÓN
Aquí está mi código:
global $wpdb;
$table_name = $wpdb->prefix . 'table_form';
$sql = "CREATE TABLE $table_name (
id int(11) NOT NULL AUTO_INCREMENT,
rows int(11) DEFAULT NULL,
cols int(11) DEFAULT NULL,
UNIQUE KEY id (id)
);";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta( $sql );
Archivo
insert.php
que hice yo mismo, en realidad soy nuevo en WordPress, quiero saber si hay algún error que esté cometiendo. En realidad quiero almacenar información de un formulario de plugin en la base de datos.
Tu pregunta es muy escasa en detalles, pero sospecho que el error que estás cometiendo es cargar un archivo de tal manera que se carga fuera del contexto de WordPress, o de una forma en que solo partes de WordPress se cargan.
La falta de detalles en tu pregunta—la casi completa ausencia de contexto para el código—hace imposible proporcionar una respuesta sólida, pero me inclino a sugerir que necesitas ejecutar tu código a través de la API AJAX (incluso si no es estrictamente AJAX). Algo como esto: https://wordpress.stackexchange.com/a/108145/21376
Si quieres una mejor respuesta, debes redactar una mejor pregunta. Por favor, haz clic en el botón "editar" debajo de tu pregunta y agrega tantos detalles como puedas, pero manténlo organizado.

Existe una útil función en WordPress que te ayuda cuando no quieres verificar si falta la "/" en tu ruta.
trailingslashit
Tu ejemplo debería escribirse de la manera recomendada:
require_once( trailingslashit( ABSPATH ) . 'wp-admin/includes/upgrade.php' );
Al usar esta función, nunca tendrás que poner "/" al frente de tu ruta "relativa", ya que esta función se asegura de que la "/" esté presente en caso de que falte.
Por eso hemos creado esta función en WordPress.

No deberías necesitar la / pero prueba con una barra al inicio de /wp-admin
require_once( ABSPATH . '/wp-admin/includes/upgrade.php' );
Pero ¿verificaste si existe el archivo /wp-admin/admin-insert.php?
¿Está definido ABSPATH? Agrega lo siguiente para verificarlo:
// ¿Está definido ABSPATH?
if ( !defined('ABSPATH') )
die('-1');
Además, ¿estás intentando ejecutar esto sin cargar WordPress? También podrías probar con site_url() y trabajar con eso.
