Как я могу интегрировать страницы, написанные в чем-то, кроме PHP?

В блоге WordPress я хотел бы добавить дополнительные функции, но, если возможно, напишите ему что-то другое, кроме PHP, например Python. Например, я хотел бы создать страницу самостоятельного планирования для бизнеса, чтобы клиенты могли выбирать время приема, а затем писать административную сторону для просмотра и ведения заказов. Конечно, все, что мне действительно волнует WP, для этой подзоны – это ссылки заголовка / нижнего колонтитула и меню, представленные на страницах, обращенных к клиенту.

Я могу представить схему, такую ​​как создание страниц, которые содержат не что иное, как div и немного Javascript, чтобы заполнить div содержимым с страницы с поддержкой Python, но не имеют хорошего представления о том, является ли это хорошей идеей.

Я думаю, мой вопрос в том, есть ли хороший способ использовать WordPress для общего макета страницы, но использовать что-то другое, кроме PHP для области содержимого?

У вас здесь пара вариантов, но все они довольно хаки …

плавающий фрейм

Самый простой способ – это сценарий вашего внешнего приложения на любом языке, который вы хотите, и встроить его на обычную страницу WordPress с помощью iFrame.

Апплет

Java, Flash, Air и Silverlight – все объекты, встроенные непосредственно в HTML-страницы. Если ваше внешнее приложение использовало одну из этих технологий, вы можете легко вставлять объект на стандартную страницу WordPress.

Лучший способ …

Я не буду спрашивать, почему вы не хотите использовать PHP, потому что это не совсем так. Но что вы можете сделать, это сценарий внешнего приложения и выставить API. Тогда вы можете иметь интерфейс WordPress напрямую с API и использовать PHP для отображения всего содержимого.

Я рекомендую это, потому что вы больше не просто внедряете приложение внутри страницы, а фактически связываете приложение вместе с WordPress. Я действительно видел, как люди связывают WP вместе с скриптами Python, запущенными на сервере, поэтому это возможно.

Это скорее вопрос того, что именно вы пытаетесь выполнить, какие технологии вы планируете использовать, и вы относитесь к каждому из них.

Я бы пошел с настраиваемой страницей шаблона и iframe. Это было бы самым простым решением.

Один из способов сделать это неинвазивно – это использовать пользовательские поля . Общая идея заключается в том, что ваша внешняя программа записывает вывод в настраиваемое мета-поле сообщения, а затем тема WP читает его с помощью get_post_meta () .

В качестве альтернативы вы можете выполнить это, не изменяя свою тему. Я написал плагин, который позволяет включать настраиваемое мета-поле внутри любого пост-и-небольшого сценария bash (ну, php-CLI), который принимает STDIN и сохраняет его как обычную мета.

Плагин: http://pp19dd.com/wordpress-plugin-include-custom-field/

Так, например, вы можете поместить это в запись cron:

python /home/programs/blarg.py -some -option | /var/www/html/wordpress/wordpress-meta.php "Моя программа Python Part 1"

И внутри столбца / страницы, которая должна отображаться, просто поставьте [include «My Python Program Part 1»]

  • Примечание. Даже если вы редактируете функции add_filter('widget_text', 'do_shortcode'); и добавляете add_filter('widget_text', 'do_shortcode'); вы даже можете включать содержимое настраиваемых полей в виде текстовых виджетов add_filter('widget_text', 'do_shortcode');