Ruta absoluta (ABSPATH) en WordPress no funciona

2

Actualmente estoy trabajando en una pequeña tarea que almacena la información de un complemento en la base de datos, pero tengo problemas con respecto a incluir el archivo que tiene las funciones para ejecutar la consulta.

Aquí está la línea que incluye el archivo:

require_once(ABSPATH . 'wp-admin/includes/upgrade.php');

pero obtuve lo siguiente cuando ejecuté el código:

  

Advertencia: require_once(ABSPATHwp-admin/includes/upgrade.php) : no se pudo abrir la transmisión: no existe tal archivo o directorio en /home/najam/dev/project1/wordpress/wp-admin/admin-insert.php en línea 18

Busqué mucho pero no encuentro nada útil o útil.

EDITAR

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 );'
    
pregunta Najam-us-Saqib 14.02.2014 - 06:25

5 respuestas

3
  

insert.php archivo que hice yo mismo, en realidad soy nuevo en WordPress,   Quiero que haya algún error que esté cometiendo? En realidad quiero   para almacenar la información de un formulario de complemento en la base de datos.

Su pregunta es muy liviana en detalles, pero sospecho que el error que está cometiendo es cargar un archivo de tal manera que se carga fuera del contexto de WordPress, o de tal manera que solo se carguen partes de WordPress.

La falta de detalles en su pregunta, la casi completa falta de contexto para el código, hace que sea imposible proporcionar una respuesta sólida, pero me inclino a sugerir que necesita ejecutar su código a través de AJAX API (aunque no sea estrictamente AJAX). Algo como esto: enlace

Si desea una mejor respuesta, debe escribir una pregunta mejor. Haga clic en el botón "editar" debajo de su pregunta y agregue tantos detalles como pueda, pero manténgalo organizado.

    
respondido por el s_ha_dum 14.02.2014 - 15:58
3

hay una buena función de WordPress que te ayuda en cualquier momento que no quieras comprobar si falta "/" en tu ruta.

trailingslashit

Tu ejemplo debería ser la forma recomendada por escrito:

require_once( trailingslashit( ABSPATH ) . 'wp-admin/includes/upgrade.php' );

utilizando esta función, nunca tiene que poner "/" delante de su ruta "relativa", ya que esta función se asegura de que "/" esté en caso de que falte.

Por eso hemos creado esa función en WordPress.

    
respondido por el Gabb3 14.02.2014 - 16:06
0

No debería necesitar el / pero intente una barra al comienzo de / wp-admin

require_once( ABSPATH . '/wp-admin/includes/upgrade.php' );

Pero, ¿comprobó si existe el archivo /wp-admin/admin-insert.php?

¿Está definido el ABSPATH? Agregue lo siguiente para verificar:

// Is ABSPATH defined?
if ( !defined('ABSPATH') )
die('-1');

Además, ¿estás intentando ejecutar esto sin cargar WP? Además, puedes probar site_url () y trabajar con él.

    
respondido por el LPH 14.02.2014 - 07:26
0

ABSPATH funcionará, debe incluir el archivo wp-load.   include '../../../wp-load.php';

    
respondido por el Hari Om Gupta 25.08.2016 - 13:03
0

ABSPATH debería contener una barra inclinada ya. Debe incluir su archivo de actualización del archivo del complemento principal. Tal vez necesite conectarse a la acción 'plugins_loaded' o 'init' y luego llamar al método de actualización.

    
respondido por el Svetoslav Marinov 23.10.2017 - 16:27

Lea otras preguntas en las etiquetas