Как в WordPress красиво передать параметры пользовательскому шаблону (custom template) в адресной строке (т.е. методом GET)?

Wordpress, Вопросы и ответы
15 февраля 2012

Вопрос

Предположим, я создал свой собственный шаблон страницы под названием «films.php». Я хочу передавать в него параметры через URL. У меня получилось сделать это так: http://www.yoursite.com/?page_id=4&genre=vestern&country=usa

А если задать постоянные ссылки в «/%postname%», то можно ещё и так: http://www.yoursite.com/films?country=vestern&country=usa

Но мне такой вариант кажется не очень красивым и не очень ЧПУ-шным. Я бы хотел передать параметры вот-так: http://www.yoursite.com/films/vestern/usa
Как такое реализовать на WordPress?


Ответ №1

Добавьте в «function.php» следующий код:

add_action('init', 'rewrite_rules');  
function rewrite_rules(){
    add_rewrite_tag('%genre%','([^&]+)'); // Регистрируем параметр genre
    add_rewrite_tag('%country%','([^&]+)'); // // Регистрируем параметр country
    add_rewrite_rule('^films/([^/]*)/([^/]*)/?$','index.php?pagename=films&genre=$matches[1]&country=$matches[2]','top'); // Добавляем новое правило, 3-й параметр top говорит о том, что правило необходимо проверять первым.
}

Здесь мы с помощью регулярного выражения создали новое правило, которое мы поставили в соответствие с запросом адресной строки. Теперь если WordPress встретит в URL имя нашей страницы «films», а после неё будет идти косая черта и какая-то строка, то эта строка будет восприниматься как параметр «genre», а за следующей косой чертой будет «country». Доступ в нашем шаблоне к этим параметрам можно будет получить не через массив $_GET, а с помощью другого, специального массива $wp_query, содержащего параметры адресной строки.

Как работать с параметрами в шаблоне:

<php
// Template Name: My template name
if (isset($wp_query->query_vars['genre'])&&isset($wp_query->query_vars['country'])) { // Если оба параметра заданы
$genre = urldecode($wp_query->query_vars['genre']);
$country = urldecode($wp_query->query_vars['country']);
echo 'Жанр: ' . $genre . '<br>';
echo 'Страна: ' . $country;
}
?>

Возможно, после добавления этого кода потребуется зайти в меню настроек «Постоянные ссылки» и пересохранить их (просто нажать кнопку «Сохранить изменения»), чтобы начали действовать новые правила. Вот так.

26 комментария

  • burateen:

    Добрый день

    Вы можете подсказать, как сделать также, только для для произвольных полей.

    Например, http://www.example.com/meta_key/

    И на страницы выведутся все посты с произвольным полем равным запросу

  • Сергей:

    Поддерживаю вопрос…тоже не получается сделать для произвольных полей

  • Scrandre:

    Спасибо за полезную инструкцию.

    P.S. На первой строке последнего блока кода ошибка («<?php", не "<php").

  • mowhespe:

    vintage spanking pictures in marriage and other four letter words
    Join and see our entire collection of classic DVD quality porn!

    Vintage porn french
    german classic porn tubes in lust pur

    germany sex mature retro train of pleasure

    WATCH RETRO PORN HERE FOR FREE >>> http://classicpornomovies.mobi/
    Classic interracial porno film
    vintage asian porn tube the tiffany minx affair

  • Madlenmek:

    Tramadol And Naprosyn Clearance Prescription Tramadol . Tramadol Iv Neuropathic Pain 90 Tramadol Hcl-acetaminophen Ta Mirtazapine And Tramadol Serotonin Syndrome Tramadol And Prednisone Ibuprofen Tramadol And Sexual Side Effects Ultram List Prescription Tramadol Mg Tablets . Tramadol Prescriptions Tramadol Oral Medications Tramadol Halveringstid buy tramadol no rx. Atlas No Prescription Tramadol Morphine And Hair Loss Tramadol Hcl 50mg Volta Tramadol Tramadol 10 325 Mg .

  • Shiloen:

    За оффтоп извиняюсь, но вопрос очень меня задел….

    Прошу помощи в распространении информации о дешевом и опасном газовом оборудовании из китая — http://bit.ly/2npUlV7 На это надо как-то повлиять!

  • GargoPr:

    http://eroticpro.ru/popki-krasivyx-devushek Голые попки красивых девушек на частных фото.

  • Eddymek:

    overlapping adderall to strattera adderall asthma medication interactions . Taking And Adderall Prozac Overdose Levaquin Adderall Mixing Acetaminophen And Adderall Using Strattera And Adderall Combined Adderall And Caffeine Getting Adderall With Xanax . celexa adderall Prednisone Adderall Side Effects Nexium And Adderall Drug Interactions 10mg adderall. Adderall And Citalopram adderall recommended vitamins Taking Adderall With Wellbutrin Off Label Od On Strattera Taking Adderall .

  • Lipchuken:

    Возможно немного не по теме, но вопрос действительно меня задел….

    Прошу помощи в распространении информации об опасном китайском газовом оборудовании — http://bit.ly/2npUlV7 Этому надо как-то помешать!

  • Lionmek:

    Mising Adderall With Zoloft Recipe Adderall Xanax The Body Xanax And Adderall buy adderall no rx. Adderall Xanax Disorder cipro adderall reactions Taking Wellbutrin With Adderall Combining Adderall And Oxycontin . Taking Adderall And Zoloft My Doctor Does Adderall Because Weight Loss . Online Prescription Sites Without Membership Fees For Adderall Ritalin Or Adderall For Weight Loss Treating Adhd Taking Adderall And Zoloft My Doctor adderall prozac compare provigil adderall name brand adderall versus generic

  • Marrinmek:

    generic name adderall Taking Xanax After Adderall Xanax With Adderall Disorder buy adderall no rx. Adderall Withdrawal Lorazepam And Adderall Dosages Adderall Motion Sickness Mixing And Adderall Phentermine Diet Pill . generic adderall overseas online Methadone And Adderall . Is Abilify An Maoi Adderall Taking After Adderall Xanax Dosage interaction topamax adderall Adderall No Prescription Cozaar Elavil Adderall Buy Phentermine Adderall

  • SmoKSmek:

    Phentermine Discount No Prescription Sanofi And Anxiety Phentermine Diet Pill . Phentermine Gastroenteritis Phentermine Overnight College Of The Desert Wil Phentermine Help Me Lose Weight Phentermine Clonazepam Headache Taking Phentermine Phentermine Citibank . Herbal Phentermine Work Phentermine Gen Ionamin 30mg Yellow Adipex 37.5 Mg Glyburide Phentermine buy phentermine online. Phentermine Chloride Vinyl Phentermine Other Names Drug Phentermine X26 Pregnancy Phentermine Ionamin Prescription .

  • MnenPip:

    Просматривайте ваши любимые передачи или сериалы, находясь в любой точке мира! https://www.ottclub.cc/go/id/8271

    Вы устали от вечного поиска хороших и постоянных онлайн трансляций?
    А те, что Вы находите, не стабильны или долго не работают.
    Надоело постоянно менять плейлисты?
    Рады представить Вам OTTCLUB, платформу, которая обеспечит Вас надежными и качественными ссылками на онлайн трансляции.
    Список трансляция постоянно растет.
    Присоединяйся сейчас!

  • Charleswab:

    Many people don’t know when you ought to trust a dealership or when they are being duped. It’s challenging to tell, as well as the salesmen don’t just out themselves. You should know what you’re doing, and you have to be prepared. Take into account the helpful tips you’re about to read in order to get you must prepared for next time.

    Usually do not create the mistake of centering on only the monthly payment amount if you are car shopping. This could lead you to invest in a more expensive car than it is possible to really afford. You need to focus on the total cost from the vehicle itself and whether which is a great deal.

    Research value of your trade-in. Not only do you need to check out the best price to the new car you would like to purchase, but you also need to recognize how much your trade-in is definitely worth. Research your options and see the retail and wholesale values of the trade-in. Aim to find the retail value in the dealer.

    Take a lengthy test drive. Don’t take it for the quick spin with the neighborhood by yourself. Instead, enlist everyone which will be regularly riding in a car to talk about their opinions. Ask the dealer for the full afternoon test drive so that you have the opportunity to carry it around the freeway to check things like the pickup and the blind spots, and invest some time really feeling the comfort from the interior.

    It’s a wonderful thing to be aware what you’re doing when you visit purchase a car at a dealership. Now that you learn more of what to look for and do, you may be significantly better prepared next time around. Put everything you’ve learned together, and make sure you are a step ahead the next occasion.

  • Memorymek:

    Tramadol Puppy No Prescriptions Online Prescription Tramadol All Next Information On Prescription Drug Tramadol buy tramadol no rx. Metabolism Of Tramadol Makes Me Itch Tramadol Apap Tylenol Prescription Dosages Tramadol Discount Prescription Tramadol Online Pharmacy . Tramadol Withdrawal Sleep Restless Review Of Tramadol Tablets . Cheap Tramadol Online Prescriptions Singulair Xyzal Genrx Tramadol Ultram Tramadol Mixed With Addiction Doctor Download Prescription Tramadol Tramadol And Sleep Apnea Drug Deal Online Tramadol No Prescription

  • hollyrh11:

    My new blog project
    black gay men hentay porn sex medical hypnotherapy
    http://sissyabuse.blogporn.in/?view.kaylin
    free porn moives harley sportster parts and accessories how do you get a personalized license plate sissy bitch tube dance shoes men xxx sex man and man penis bГјy black school pinafore

  • MnarraLmek:

    Low Dose Xanax And Adderall Drink Vicodin And Adderall . Taking Prozac And Adderall Together generic adderall tablets Phentermine Or Adderall Xr Adderall Xr Coupon Shire adderall time release generic adderall snorting blue generic . effexor and adderall together Mixing Phentermine And Adderall Phen Phen Adderall And Diphenhydramine buy adderall online no rx. cymbalta and adderall taken together Abilify Ritalin Adderall Xr Mixing Tylenol And Adderall Legal To Order Generic Adderall Online .

  • carissasv1:

    Novel project
    http://cats.blur.twiclub.in/?post-jaelyn
    watch free porn instently how do i purchase soft porn find out who visits porn sites dominican porn stars forum julie porn

  • byronpi2:

    Fresh launched porn site
    http://amateurblowjob.adultnet.in/?karla
    adultmovie erotic romance publishers japanese erotic art sexy erotic cakes

  • Thomasseify:

    Покупать саженцы в питомнике дозволительно через выше интернет магазин. Школа саженцев выращивает ради вас однолетние, двухлетние и многолетние саженцы. Выращенные в заботливых руках наши растения свободно приживаются в почвах средней полосы России. Выращивание и продажа деревьев и других растений осуществляется в контейнерах, соответствующих развитию корня саженца. Всетаки растения с закрытой корневой системой, а вероятно корни наших растений не повреждены и не иссушены и готовы к посадке в течении всего года. Интернет магазин саженцев «АгроВиста» реализует продукцию питомника для территории Москвы и московской области. Менеджеры магазина приветливы и внимательны и ввек готовы проконсультировать вас сообразно вопросам посадки и ухода следовать растениями.
    Телефон +7 (495) 103-48-16 (многоканальный)
    Адрес Московская область, городской округ Балашиха, мкр. Железнодорожный, ул. советская д.78
    Сайт: http://agro-vista.ru

Добавить комментарий


(обязательно)