Список изменений, которые нам понадобится совершить с темой, довольно краток:
- Создать произвольный шаблон страницы, содержащий в себе форму регистрации, которая будет загружаться в модальном окне;
- Создать произвольный шаблон рубрики и настроить его таким образом, чтобы в нем выводились только записи из рубрики Events. Также в нем будет производиться вызов формы регистрации, загружаемой в модальном окне.
Создание шаблона произвольной страницы
Для начала нам понадобится создать шаблон для страницы регистрации. Сделаем копию файла page.php и переименуем его в registration-page.php.

Так как форма будет загружаться в модальное окно, нам понадобится убрать из шаблона заголовок и футер. Сделать это можно довольно просто – при помощи удаления тегов шаблонов get_header() и get_footer().
Поскольку нам нужна грамотно представленная HTML-страница, мы добавим к шаблону следующий код из файла header.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_
attributes(); ?>>
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type');
?>; charset=<?php bloginfo('charset'); ?>" />
<title><?php wp_title('«', true, 'right'); ?> <?php
bloginfo('name'); ?></title>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>"
type="text/css" media="screen" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php wp_enqueue_script("jquery"); ?>
<?php wp_head(); ?>
<style type="text/css">
<!--
.cform fieldset{
border:1px solid #036;
}
.success{
font-size: 140%;
font-weight: bold;
}
-->
</style>
</head>
<body>
...
Вы, возможно, заметили, что мы очень сильно упростили код, который содержится в файле header.php. Нам не нужны комментарии и сайдбар на странице регистрации, поэтому мы просто удалили из кода те фрагменты, которые отвечали за представление соответствующих элементов. Также я добавил несколько стилей для формы, чтобы она не выглядела слишком скучной.
Теперь мы добавим новую разметку для футера: всего лишь пару закрывающих тегов после основного цикла страницы:
... <?php wp_footer(); ?> </body> </html>
Примечание: так как нам не нужны файлы header.php и footer.php, мы вручную разместили в шаблоне хуки wp_head() и wp_footer(), поскольку они требуются для корректной работы различных плагинов. Не забывайте об этом, если вы убираете из произвольных шаблонов страниц подключение заголовка и футера!
Наконец, чтобы созданный нами файл превратился в шаблон для WordPress, нам необходимо добавить к нему следующий комментарий (в самый верх документа):
<?php /* Template Name: Register Form */ ?> ...
Теперь, если мы вернемся на страницу Registration в панели администратора, то увидим, что в панели Page Attributes с правой стороны стал доступен наш новый шаблон.

Если мы введем URL адрес страницы Registration в браузере, то увидим, что она получила нужное нам минимальное представление и полностью готова для загрузки в модальное окно.

Первая половина работы сделана.





