На самом деле это распространенный вопрос, и ответ - восторженный Да!

→ Для WordPress попробуйте плагин Insert PHP.

→ Для Joomla попробуйте расширение Jumi.

Я предпочитаю работать с Joomla сам, поэтому вот несколько замечаний по использованию Jumi:

Хотя у Jumi довольно много функциональных возможностей, самый простой способ его использования (IMHO) - это просто «включить» ваш собственный PHP-скрипт, используя его синтаксис. В статье или модуле, где вы хотите, чтобы ваш скрипт запускался, вам просто нужно вызвать PHP-скрипт, например:

{jumi [path to your script]}
// For example, if you keep your scripts at
// yoursite.com / programs
// and your script is called "go.pph"
// then the code you would put in your article
// or module would look like this:
{jumi [programs/go.php]}

Итак, во втором примере выше предполагается, что у вас есть файл с именем «go.php», который находится в [root] / programs. Конечно, вы можете захотеть разместить свои скрипты в другом месте. Просто отрегулируйте путь соответствующим образом.

Оттуда сценарий будет работать так же, как если бы он был на любом другом веб-сайте. Супер просто !!

Передача переменных в ваши скрипты

Есть два способа отправить значение вашим скриптам PHP при использовании Jumi. Первый - через обычные URL-адреса GET и POST. Я считаю, что простой способ сделать это - настроить статью Joomla в скрытом меню. Например, начните новую статью на своем сайте, создайте скрытое меню и добавьте в него эту статью с псевдонимом «виджеты». Таким образом, теперь вы сможете просмотреть эту статью по адресу: www.mysite.com/widgets. Оттуда вы просто передаете значения, как обычно, например GET:

mysite.com/widgets ? id = 123

Затем в своем PHP вы просто делаете что-то вроде:

$thisWidget = $_GET['id'];

… А затем вы запускаете свой скрипт, передавая $ thisWidget вашему SQL. (Конечно, вы, как всегда, захотите правильно проверить такую ​​вещь.) Как уже отмечалось, вы также можете использовать данные $ _POST в своих скриптах, как обычно.

(Конечно, если вы работаете в контексте Joomla, вы можете использовать JInput, чтобы лучше получать свои переменные. Но это совсем другой разговор.)

Второй метод

Вы также можете отправить значения в свой сценарий другим способом. В вашем включаемом сценарии вы можете вставить дополнительные аргументы после объявления сценария. Например:

{jumi [path/to/script/script.php][bob][mary]}

Jumi сохраняет аргументы, которые вы отправляете, в массив под названием $ jumi. Итак, выше мы отправили «боб» и «мэри». Таким образом, в вашем PHP вы бы взяли такие, как это:

$person01 = $jumi[0]; // that would be bob
$person01 = $jumi[1]; // that would be mary

Я признаю, что эта часть не самая интуитивно понятная, потому что вы привязаны к определенной индексации для этого массива $ jumi! Но это действительно работает. Я обычно использую ранее упомянутый метод передачи значений через GET и POST. Но иногда бывает удобно или необходимо сделать второй способ.

✍🏻 Джим Ди ведет свой личный блог Хоторн Кроу и блог веб-дизайна Веб-дизайнер | Журнал веб-разработчиков . Он также участвует в различных публикациях Medium.com. Найдите его на JPDbooks.com, на его странице авторов Amazon, Facebook, Twitter, Instagram, LinkedIn, Medium или по электронной почте на сайте Jim [at] ArrayWebDevelopment.com. Его последний роман CHROO доступен на Amazon.com. Если вам нравятся юмористические литературные сказки, возьмите копию!