Intereting Posts
Правильный метод запуска скриптов с зависимостями без очереди? str_replace the_title (); блюз Тип пользовательского сообщения WordPress с структурой папок в slug Как использовать отображаемое имя в качестве заголовка сообщения в настраиваемом типе сообщений? текст описания продукта отображается над сайтом, когда на странице магазина Это работа для WP MultiSite с плагином для картографирования домена? Показать только ссылку, если div существует Администрирование WordPress через SSL – для принудительного ввода SSL-сообщений и доступа SSL-администратора если пользовательский тип сообщения существует Безопасно удалять пустой постмета? Как реализовать выборочное обновление с настройкой настройки? Должны ли шор коды в i18n плагинах быть переведены, и если да, то как? Быстрые шрифты на мобильных устройствах Переходные процессы с динамическим WP_Query WordPress изменить Настройки> Постоянная ссылка (options-permalink.php) Добавить параметры CPT Permalink

Архитектура плагина, чтобы вытащить из API и создать динамический контент на сайте WP?

Я создаю настраиваемый плагин, который подключается к внешнему API и извлекает данные о местонахождении компании. В настоящее время плагин имеет короткий код, который я разместил на странице «Местоположения» WordPress, в которой перечислены все местоположения.

По сути, я просто нажимаю API, отбрасывая данные, генерируя некоторый HTML и возвращаю его в короткий код. Это отлично подходит для страницы местоположений (/ местоположений), так как у нее есть заголовок страницы WordPress и копия над списком. Но для страницы подробностей местоположений мне нужен «пустой» холст.

Я попытался использовать add_rewrite_rule () для создания страницы подробностей и отправки дополнительных запросов в URL через сегменты URL. Это работает, но отправка правила перезаписи на страницу wordpress означает, что заголовок страницы и контент все еще отображаются.

Как я должен архивировать этот плагин, чтобы я мог ссылаться на URL-адрес, т.е. / locations / address / id, который на самом деле не существует в WP, а просто строит динамически. Мы хотели бы, чтобы это использовало «страницу» или «сообщение», если это возможно, но обманите WordPress в использовании нашего заголовка страницы и содержимого HTML.

Есть предположения?

Solutions Collecting From Web of "Архитектура плагина, чтобы вытащить из API и создать динамический контент на сайте WP?"

Вы должны использовать фильтры wp_title и the_title если это необходимо, чтобы изменить это. Содержание? Ну, вы можете повторно использовать контент и поместить the_content после, или the_content может в противном случае изменить the_content

Недавно я столкнулся с этой проблемой.

Я бы порекомендовал добавить крюк как можно раньше, чтобы распознать пользовательские запросы страницы, например:

 // Function to run before page generation begins add_action('init',array('MyPluginClass','MyInitPublicFunction')); 

Тогда эта функция должна выглядеть примерно так:

 public function MyInitPublicFunction() { // Custom tag we will be using to recognize page requests add_rewrite_tag('%mycustomtag%','([^/]+)'); // Custom rewrite rule to hijack page generation add_rewrite_rule('locations/address/([^/]+)/?$','index.php?mycustomtag=$matches[1]','top'); // Update WP rewrite rules without writing a new .htaccess file flush_rewrite_rules(false); } 

Затем в вашем плагине:

 // Allow access to WordPress query variables global $wp_query; // Retrieve WordPress query variables $query_vars = $wp_query->query_vars; // Check if requesting our custom page if(!empty($query_vars['mycustomtag'])) { // CUSTOM PAGE REQUESTED! $custom_id = $query_vars['mycustomtag']; die('<html><head><title>Not a WordPress Page</title></head><body>Content here</body></html>'); } 

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

Не забывайте! Вы можете добавить настраиваемое правило перезаписи в любой момент (например, при активации плагинов), пока вы используете «flush_rewrite_rules», чтобы вставить его в базу данных. Это означает, что вы можете иметь конфигурацию плагина, которая позволяет вам настраивать определенные пользовательские страницы, или вы можете использовать страницу с коротким кодом для активации правил перезаписи для будущих посещений этой страницы.