URL dinámica para hacer referencia a archivos PHP personalizados

4

Desarrollador de Wordpress para principiantes aquí ... Actualmente estoy desarrollando un sitio de Wordpress para un dispositivo mío. Mi idea es poder conectarse al dispositivo que actúa como un servidor web. Debería poder acceder al sitio desde el dispositivo local que aloja el sitio (Raspberry Pi desde aquí, el servidor), así como desde cualquier máquina / dispositivo conectado a la misma red que el servidor (teléfono móvil / portátil, etc.). aquí en referenciado como el cliente).

Conectarse directamente en el servidor al sitio funciona bien conectándose con enlace . Todos los enlaces y acciones funcionan como se espera.

La conexión al sitio desde un cliente funciona parcialmente. Puedo conectarme y buscar enlaces de WordPress como páginas, etc., pero el proceso siguiente no funciona:

El proceso

Mi complemento crea códigos cortos que puedo agregar a cualquier página. todas las funciones de los códigos cortos básicamente llaman a un archivo php con el siguiente código:

http://localhost/mysite/wp-content/plugins/my-plugin/api/mydatasourcephpfile.php

y luego crea un formulario html en la página con los valores que obtuvo de la solicitud anterior. El formulario contiene un botón de envío y cuando se hace clic en él, el formulario lo valora a:

http://localhost/mysite/wp-content/plugins/my-plugin/api/mypostphpfile.php

El mypostphpfile luego toma los valores de formulario publicados, lo escribe en una base de datos y regresa a la página original agregando un parámetro url de "? success = true". Esto se hace usando el siguiente código en el archivo mypostphpfile.php justo al final después de que todos los datos hayan sido escritos:

$success="true";
header('Location: http://localhost/mysite/myoriginalformpage/?success=', $success);

Sé exactamente cuál es el problema. El problema es el localhost en mi URL, el cual tengo que decir "codificado" que publico en / regresar a. Al realizar la publicación en el servidor, se publica en el archivo php localhost que está disponible en el host local (en el contexto del servidor). Al publicar desde un cliente, la publicación no funciona porque se está publicando en un archivo localhost php que el navegador del cliente está buscando en la computadora cliente y no en el servidor.

Parece ser un problema de URL. No estoy muy familiarizado con los archivos .htaccess, etc. y ni siquiera sé si será la solución a mi problema. Necesito poder publicar en el archivo php donde su URL es relativa al servidor sin importar desde qué dispositivo estoy navegando en el sitio. Soy muy nuevo en el desarrollo de Wordpress y las búsquedas en Internet conducen a poco, lo cual tiene mucho sentido porque ni siquiera sé cómo describir el problema en una barra de búsqueda de Google (como puede ver en la descripción de la pregunta :). Me gustaría evitar las direcciones IP de codificación rígida, ya que éstas pueden cambiar, al igual que los nombres de host, ya que he leído que no siempre funcionan (al menos en una pi de frambuesa).

En pocas palabras, ¿hay alguna forma de poder elegir desde qué URL se está ejecutando wordpress para que todos los clientes puedan finalizar el proceso? La URL de los archivos php debe ser relativa al servidor.

Cualquier ayuda en esto o que me señale en la dirección correcta será muy apreciada.

    
pregunta Joachim Prinsloo 21.12.2017 - 16:36

1 respuesta

3

No estoy seguro de que entiendo la pregunta, pero si solo intentas obtener la URL del sitio, puedes usar la función get_site_url() WP. Así, así:

$siteURL = get_site_url();
header("=Location: $siteURL" . "/myoriginalformpage/?success=", $success);

Y puede cambiar los parámetros de get_site_url() para especificar la ruta y mostrar 'https' o 'http'.

Pero si solo necesitas la url del sitio actual, usa get_site_url();

    
respondido por el Coltvant 21.12.2017 - 18:52

Lea otras preguntas en las etiquetas