Как провести запрос GET для файла, который не принадлежит к wordpress
wordpress не распознает файлы, которые не принадлежат ему, даже когда он стоял там в папке темы, что мой случай. С могу ли я сделать внешний файл, получить эту информацию?
, например: Я нахожусь в .page
и там есть кнопка, с parâmetro
via GET
через link
. Страницы находится в городе:
www.meusite.com.br/tema/page.php
целевой файл, который получит параметр является:
www.meusite.com.br/tema/src/arquivo.php
Этого arquivo.php
было только туда, и нет никакой связи с wordpress, но имеет функцию захвата via $_GET.
ДЕТАЛИ : Я не хочу, чтобы получить доступ к файлу через интерфейс, то есть, представляет его на просмотр, но только заставить его выполнить их условия.
1 answers
Предполагая, что вы находитесь sobreescrevendo ваши постоянные, вы не сможете сделать это, даже, учитывая, что файл находится внутри папке темы. Это происходит из-за того, WordPress, когда постоянные включены, лечить свои маршруты с помощью RewriteRule
s (.htaccess
. Предполагая, что вы идете в панель администратора и установите, что ваши Url-адреса будут, например, на основе имени, должность, следующий .htaccess
создал (я отнял примеры экземпляр WP что у меня работает в http://localhost/wp_testes/)
:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp_testes/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp_testes/index.php [L]
</IfModule>
# END WordPress
Этот ответ, SO gringo, отличным объяснением того, как эти правила работают. Суммируя это с Иерархии Шаблонов, WP, легко заключить, что все запросы, сделанные в течение вашего экземпляра WP (в моем случае, - /wp_testes/
вперед), будут направляться в соответствии с настоящими правилами, не допуская прямого доступа. В случае, если ваш файл teste.php
не согласны с правилами, template, дома упасть.
Решений
-
Не используйте постоянные.
Грязно, я знаю. Ваши Url-адреса будут стоять ужасные, но это позволит вам иметь прямой доступ к файлу. В моем случае, отключил постоянные, и сделал прямой доступ
http://localhost/wp_testes/wp-content/themes/twentyfifteen/teste.php?teste=123
, гдеteste.php
содержащиеся в этой инструкции complicadíssima:<?php echo $_GET['teste']; ?>
И в результате, как и ожидалось, была
123
-
Вставьте ваш файл в root WordPress
, Поместив в файл
teste.php
в папке, где файлы WP находятся (в моем случае в папке/wp_testes
), правила постоянная, не должны влиять на ваши запросы. В данном случае, я сделал запросhttp://localhost/wp_testes/teste.php?teste=123
(постоянные активированы) и я получил ожидаемый результат.
Я Не знаю, если вы разрабатываете обязательно тему, и может включать или не включать файлы в корневой папке WP. Я считаю, что вы не ограничиваясь, следующие два решения. Но сумма два (постоянные файл внутри темы), думаю, что не имеет как.