Добавление запроса SQL в конце постоянной ссылки WordPress? - PullRequest
3 голосов
/ 25 декабря 2011

Хорошо .... поэтому я создал новую тему WordPress и до сих пор не могу заставить мой пользовательский код работать.

Я хочу, чтобы была возможность иметь страницу, которая будет выводить список элементов из базы данных, каждый элемент будет иметь следующий формат URL:

www.site.com / категория / подкатегория /? ID = XX

Запрос? Id = XX должен находиться в конце URL-адреса и направлять пользователя со страницы категории на страницу подкатегории с конкретными данными об элементе с идентификатором XX.

Каждый элемент в списке обернут в тег на странице шаблона категории, а страница подкатегории использует $ _GET. У меня есть одна тема WordPress, которая работает, но на моем другом сайте я использую другую тему, и она не работает. Если пользователь нажимает на элемент в списке, он перенаправляется на страницу подкатегории без присоединенной строки sql. Я не уверен, что положить в файл functions.php в WordPress (или как называется файл, который обрабатывает функции) или в htaccess. Любая помощь приветствуется.

Обновление:

@ Нильс - я не делал код ... У меня было два человека, которые делали код для меня. Ни один из них не является профессиональным программистом, но они заставили его работать, так что это все, о чем я заботился. Мой сайт никогда не был взломан прежде, но мне нужно выяснить, как заставить код работать сам, так как два парня, которые создали код, в настоящее время заняты. Да, мне сказали об инъекции sql.

У меня есть php-код на странице категории (http://www.mysite.com/category), который определяет переменные, которые будут использоваться в коде, подключается к базе данных, запрашивает таблицу базы данных, а затем выбирает и выводит элементы в таблице базы данных, используя id элемента. Код использует цикл while для вывода элементов, так что страница категории в основном является каталогом элементов. Каждый выводимый элемент выводится в следующем формате: $ itemname. Как я уже сказал, код уже определяет эти переменные в самом начале, поэтому SQL-запрос уже знает, что искать. Когда пользователь нажимает на любой элемент на странице категории, ссылка должна перевести их на страницу профиля элемента, которая в основном является страницей подкатегории (то есть: http://www.mysite.com/category/subcategory/). Итак, позвольте мне прояснить: когда пользователь нажимает на ПУНКТ на СТРАНИЦЕ КАТЕГОРИИ, пользователь должен быть направлен на страницу профиля элемента, которая в основном является СТРАНИЦЕЙ ПОДКАТЕГОРИИ. Идет часть id. На этапе перехода от страницы категории к странице подкатегории строка запроса должна присоединяться к URL-адресу, а страница подкатегории будет выводить данные на основе данных, находящихся в базе данных для этого конкретного элемента. Например, если пользователь щелкнул ссылку, например, такую: www.mysite.com/category/subcategory/?id=12, он должен быть направлен на страницу профиля элемента с идентификатором 12. Страница профиля , которая в нашем случае является страницей подкатегории, должна выводить данные для элемента в базе данных с идентификатором 12. Вот как это должно работать. Страница подкатегории или страница профиля элемента будет иметь код $ _GET, чтобы он знал, какие данные предполагается выводить.

Ответы [ 2 ]

1 голос
/ 26 декабря 2011

Исправленный ответ

Просмотрите WordPress ' Переписать API .Это определенно более «правильный» способ сделать это.

Оригинальный ответ

Вместо использования URL-запроса, попробуйте что-то вроде:

// URL: http://blahblahblah.com/category/pagetitle/15

preg_match_all('/[^\/]+/', $_SERVER['REQUEST_URI'], $matches);
$item_id = $matches[0][2];

echo 'Do whatever you want with Item ID ' . $item_id;
0 голосов
/ 25 декабря 2011

Если пользователь нажимает на элемент в списке, он перенаправляется на страницу подкатегории без присоединенной строки sql.

Что вы подразумеваете именно под строкой sql?

Не могли бы вы, насколько это конкретно, описать, какие у вас есть ссылки, примеры и на какую страницу они должны перенаправляться и что должны делать эти страницы?Здесь вы немного разбираетесь, и вы работаете с базой данных на основе параметров из URL.Вы должны знать, что манипулирование параметрами URL для получения доступа к базе данных - это действительно простой способ взломать сайт.Пожалуйста, прочтите немного о SQL-инъекции и о том, как ее предотвратить.

...