it-roy-ru.com

Динамический URL для ссылки на пользовательский PHP файлы

Новичок Wordpress разработчик здесь ... Я в настоящее время разрабатываю сайт Wordpress для моего устройства. Моя идея состоит в том, чтобы иметь возможность подключиться к устройству, которое действует как веб-сервер. Я должен иметь доступ к сайту с локального устройства, на котором размещен сайт (Raspberry Pi с этого момента упоминается как сервер), а также с любого компьютера/устройства, подключенного к той же сети, что и сервер (мобильный телефон/ноутбук и т.д. С здесь упоминается как клиент).

Подключение напрямую на сервере к сайту работает нормально при подключенииhttp: // localhost/mysite. Все ссылки и действия работают как положено.

Подключение к сайту с клиента работает частично. Я могу подключиться и просматривать WordPress ссылки, такие как страницы и т.д., Но процесс ниже не работает:

Процесс

Мой плагин создает шорткоды, которые я могу добавить на любую страницу. все функции шорткодов в основном вызывают файл php со следующим кодом:

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

а затем создает HTML-форму на странице, используя значения, полученные из вышеуказанного запроса. Форма содержит кнопку отправки, и при нажатии форма отправляет значения в:

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

Затем mypostphpfile принимает значения формы, отправленные в него, записывает их в базу данных и возвращает на исходную страницу, добавляя параметр URL "? Success = true". Это делается с помощью следующего кода в файле mypostphpfile.php сразу после того, как все данные были записаны:

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

Я точно знаю, в чем проблема. Проблема заключается в локальном хосте в моих URL, который я так называю "жестко закодировал", который я публикую на/возвращаю. При выполнении публикации на сервере она отправляет в php файл localhost, который доступен на localhost (в контексте сервера). При публикации с клиента публикация не работает, поскольку она отправляет в php-файл localhost, который ищет клиентский браузер на клиентском компьютере, а не на сервере.

Кажется, проблема с URL. Я не очень знаком с файлами .htaccess и т.д. И даже не знаю, будет ли это решением моей проблемы. Мне нужно иметь возможность публиковать в php-файл, где его URL-адрес относительно сервера, независимо от того, с какого устройства я просматриваю сайт. Я очень новичок в разработке Wordpress, и поиск в Интернете приводит к небольшому, что имеет смысл, потому что я даже не знаю, как описать проблему в строке поиска Google (как вы можете видеть в описании вопроса :). Я хотел бы предотвратить жесткое кодирование IP-адресов, так как они могут измениться, а также имена хостов, так как я прочитал, что они не всегда работают (по крайней мере на Raspberry Pi).

Итак, в двух словах, есть ли способ, с помощью которого я могу узнать, с какого URL работает wordpress, чтобы все клиенты могли завершить процесс. URL-адрес php-файлов должен быть относительно сервера.

Буду очень признателен за любую помощь в этом или указание мне в правильном направлении.

4
Joachim Prinsloo

Я не уверен, что понимаю вопрос, но если вы просто пытаетесь получить URL сайта, вы можете использовать функцию get_site_url() WP. Ну вот так:

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

И вы можете изменить параметры get_site_url(), чтобы указать путь и отобразить "https" или "http".

Но если вам нужен только URL текущего сайта, используйте get_site_url();

3
Coltvant