Я работаю над созданием плагина WordPress для пользовательской многосайтовой сети WordPress и нескольких файлов, использующих переменные URL для загрузки информации из второй базы данных (а не из базы данных WordPress).
В версии, построенной вне WordPress, перейдя на http://website.com/NAME-HERE
, она проверит, является ли это имя пользователя в моей базе данных, если не проверяет, есть ли ее группа в моей базе данных и загружает файл, соответствующий if его имя пользователя или группу.
Теперь я полностью потерял возможность реализовать это в WordPress Multisite. Насколько я знаю, плагины не могут переписывать .htaccess
? Как заставить его работать на всех сетевых сайтах?
Если это не лучший способ достичь этого?
Нужно ли мне переписывать мои pretty.php
и .htaccess
перезаписи в мой корневой каталог и указывать страницы на файлы, расположенные в плагине? Если да, то как это работает с несколькими темами?
Мое единственное, что мы думали до сих пор, возможно, это может быть достигнуто с чем-то вроде RewriteMap
.
На этом этапе я решил, что лучше всего было обратиться к сообществу StackOverflow за помощью или руководством.
.htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(\w.+)$ ./pretty.php?pretty=$1 [QSA]
ErrorDocument 404 /404.php
pretty.php
// First check if passed pretty parameter is a username.
if(checkIfUserByUsername($_GET['pretty']))
{
$_GET['username'] = $_GET['pretty'];
include("USERNAME.php");
// If not a username, check to see if it an event.
}else if(checkIfStreamByPretty($_GET['pretty'])){
$_GET['id'] = getStreamIdFromPretty($_GET['pretty']);
include("GROUP.php");
}else{
// If it none, redirect to the 404 page.
include("404.php");
}
Я хочу предоставить больше контекста того, что я ищу, я создаю файлы шаблонов страниц, один из которых для профилей, и один из них для групп, как вы видели выше моего .htaccess и pretty.php я затем в верхней части файла шаблона страницы, используя
$user_id = getIdFromUsername($_GET['username']);
$_GET['user_id'] = $user_id;
Я действительно пытаюсь понять, как это сделать, чтобы он работал с несколькими темами. Просто ищем любое решение на данный момент.