Поддержка Проблемы и решения Как распарсить URL средствами WordPress

  • Приветствую.

    Исходные данные:
    * есть 5 отдельных (не стандартных WP) таблиц с данными об отделениях и банкоматах банка (Например, Сбербанка);
    * есть плагин, который при активации создает Custom Post Type(sberbank), нужные таксономии, сами таблицы и загружает в них данные.

    Вопрос:
    1) Как обратиться к БД (т.е. Как распарсить URL средствами WordPress), если пользователь запрашивает следующие страницы: site.ru/sberbank/office и site.ru/sberbank/bankomat
    2) Где писать код: в теле плагина? или прямо на шаблоне страниц (single-sberbank.php)

    WP_QUERY тут не пойдет.

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Как обратиться к БД

    С помощью класса $wpdb.

    (т.е. Как распарсить URL средствами WordPress), если пользователь запрашивает следующие страницы: site.ru/sberbank/office и site.ru/sberbank/bankomat

    Если это записи произвольного типа, то WordPress должен сам их выводить без дополнительных манипуляций, нужно только зайти в настройки постоянных ссылок и нажать кнопку «Обновить», чтобы для нового типа создались правила.

    Где писать код: в теле плагина? или прямо на шаблоне страниц (single-sberbank.php)

    Да, основной код обычно имеет смысл писать в плагине, а в шаблоне — только вызывать функции для отображения нужных данных.

    Сергей, как всегда спасибо.
    А что если url имеют следующий вид:
    site.ru/sberbank/moskow/office
    site.ru/sberbank/moskow/bankomat
    site.ru/sberbank/piter/office
    site.ru/sberbank/piter/bankomat

    Поправьте меня если не прав:
    sberbank — Custom Post Type ?
    moskow, piter — taxonomy ?
    office, bankomat — шаблоны (single-office.php, single-bankomat.php)?

    • Ответ изменён 7 лет, 2 месяца назад пользователем wapster.
    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    А что если url имеют следующий вид:

    По идеи,
    sberbank — Custom Post Type
    moskow, piter — Post of Custom Post Type
    office, bankomat — а такие штуки обычно реализуются с помощью Rewrite endpoints API.

    Если нужны разные шаблоны, то можно использовать хук template_include.

    • Ответ изменён 7 лет, 2 месяца назад пользователем Denis Yanchevskiy.

    Спасибо, denisco. По ссылке и дальнейшему гуглению понял, что еще многое предстоит изучить.

    А пока…
    как заменить в URL taxonomy-slug на custom-post-type-slug ?

    Например, было
    site.ru/region/pskovskaya-oblast/
    т.е. site.ru/taxonomy-slug/taxonomy-title

    стало
    site.ru/sberbank/pskovskaya-oblast/
    т.е. site.ru/custom-post-type-slug/taxonomy-title

    Применять фильтры?
    http://wpcode.ru/kak-udalit-slug-dlya-proizvolnogo-tipa-zapisej-iz-url/

    или использовать WP_Rewrite ?

    • Ответ изменён 7 лет, 2 месяца назад пользователем wapster.
    • Ответ изменён 7 лет, 2 месяца назад пользователем wapster.

    или add_rewrite_rule ?

    Решил задачу благодаря буржуям )
    Добавил в свою web-кладовку:
    http://r0ma.ru/kak-zamenit-slug-taksonomii-na-slug-proizvolnogo-tipa-zapisi-custom-post-type/

    Оригинал:
    http://someweblog.com/wordpress-custom-taxonomy-with-same-slug-as-custom-post-type/

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Как распарсить URL средствами WordPress» закрыта для новых ответов.