
В данном гайде предоставлена ВСЯ информация об установке/натяжке кастомной темы.
Вам будут предоставлены файлы
1. wordpress.zip (Абсолютно голый вордпресс)
2. html (Файл с готовой структурой сайта, её надо будет натянуть на кастом тему.)
3. css (Файлы с версткой, которую надо будет натянуть на кастом тему.)
4. возможно плагины.
Экзамен с ответами
Открываете через OpenServerPanel папку с доменами

Распаковываете содержимое wordpress.zip в папку с доменами, перезагружаете OpenServerPanel.
ПЕРВИЧНАЯ НАСТРОЙКА
В phpMyAdmin создать базу данных (например: exam2025).
Перейти в браузере на http://localhost/имя_проекта → пройти установку:
- Название сайта: по заданию
- Логин: НЕ
admin, лучше bahtiar - Пароль: сложный, типа
Qz@r982# - Email: любой
ПЛАГИНЫ
Wordfence Security
Установка:
- В админке WordPress:
Плагины → Добавить новый → Wordfence Security - Установить и активировать
Настройка:
- При активации — укажи свою почту (чтоб присылал уведомления)
- Выбери Free (бесплатная версия)
Далее делай:
- Перейди в
Wordfence → Dashboard - Нажми «Start a Scan» — пусть проверит файлы сайта
Двухфакторка:
- Перейди
Wordfence → Login Security - Включи двухфакторную аутентификацию (2FA) через приложение (Google Authenticator или Authy)
- Отсканируй QR-код, сохрани резервный код — иначе хрен войдёшь, если потеряешь телефон
Брандмауэр (firewall):
Wordfence → Firewall- Нажми кнопку «Optimize the Firewall»
- Следуй инструкциям (может попросить доступ к .htaccess — соглашаемся)
Рекомендации:
- Включи уведомления на почту о попытках взлома
- Установи лимит блокировки по IP, если кто-то долбит логин/пароль
Limit Login Attempts Reloaded — ограничение входов
Как настроить:
- Установка:
- Плагины → Добавить → Поиск:
Limit Login Attempts Reloaded - Установить и активировать
- Плагины → Добавить → Поиск:
- Настройка:
- Перейди:
Настройки → Limit Login Attempts - Установи значения:
- Allowed Retries: 3
- Lockout Duration: 20 мин
- Hours until retries reset: 12
- Max lockouts before extended lockout: 4
- Time length of extended lockout: 24 часа
- Перейди:
- Включи лог IP-адресов — тогда увидишь, кто ломится
- (По желанию): включи отправку уведомлений на почту, если будет слишком много попыток входа.
WP Cerber Security — антиспам и защита доступа
Как настроить:
- Установка:
- Плагины → Добавить → WP Cerber Security
- Установить, активировать
- Настройка входа:
- Перейди:
WP Cerber → Access Settings - Измени Custom login URL — вместо
wp-login.php, сделай напримерsecure-panel- Тогда адрес входа станет
site.kz/secure-panel
⚠️ Не забудь сохранить где-нибудь адрес, иначе в админку не попадёшь!!!!!!!!
- Тогда адрес входа станет
- Перейди:
- Ограничения:
- В той же вкладке:
- Limit login attempts: Включено
- Login attempts: 3
- Block IP for: 60 мин
- Notify admin if: X failed attempts
- В той же вкладке:
- Антиспам:
WP Cerber → Anti-spam- Включи: Protect all forms on the website
- Фильтрация IP:
- Можно создать белый/чёрный список IP (если надо ограничить доступ)
- Сканер:
- Есть встроенный антивирус:
WP Cerber → Site Integrity - Нажми Scan Site — найдёт лишние скрипты, трояны и дрянь
- Есть встроенный антивирус:
Натяжка HTML-шаблона на тему WordPress

📁 Структура темы:
Создай папку: wp-content/themes/Ivanov-theme/
СНИЗУ ГАЙД ДЛЯ БАХТИЯРА

СТРУКТУРА ТЕМЫ
Ivanov-theme/
├── style.css
├── index.php
├── functions.php
├── header.php
├── footer.php
├── js/
│ └── main.js
├── css/
│ └── styles.css
├── screenshot.png
СТРУКТУРА КОДА:
style.css:
/*
Theme Name: <ВАША ТЕМА ЗДЕСЬ>
Author: Bahtiar
Version: 1.0
*/
<styles>
|СЮДА КОД ИЗ ГОТОВОЙ ВЕРСТКИ|
</styles>
ВНИМАНИЕ:
style.cssдолжен быть в корне папки темы. Даже если ты все стили пишешь в других файлах — эта шапка ОБЯЗАТЕЛЬНА(╬▔皿▔)╯
Без этой шапки WP не покажет тему в админке.
index.php
пиздец бля..
<?php get_header(); ?>
<h1><?php the_title(); ?></h1>
<div>
<?php the_content(); ?>
</div>
<?php get_footer(); ?>
⚠️ Даже если весь HTML будешь делать позже — этот файл должен быть, хоть пустой.
functions.php
<?php
function CUSTOM!_theme_scripts() {
wp_enqueue_style('main-style', get_stylesheet_uri());
wp_enqueue_script('main-js', get_template_directory_uri() . '/js/main.js', [], false, true);
}
add_action('wp_enqueue_scripts', 'CUSTOM!_theme_scripts');
CUSTOM! — заменяете на название вашей ТЕМЫ!
header.php
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php wp_title(); ?></title>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<header>
<h1><?php bloginfo('name'); ?></h1>
</header>
Сюда выносим всё от
<!DOCTYPE html>до<main>. Пример сверху,
СМОТРИТЕ ВНИМАТЕЛЬНО И СВЕРЯЙТЕ С ВЫДАННЫМИ ФАЙЛАМИ ВЕРСТКИ.
footer.php — Подвал сайта
Всё, что после
</main>и до</body>
<footer>
<p>© <?php echo date('Y'); ?> CUSTOM! Theme</p>
</footer>
<?php wp_footer(); ?>
</body>
</html>
CUSTOM! — заменяете на название вашей ТЕМЫ!
screenshot.png — Превью темы
Без него тема будет без превью в админке, но всё остальное будет работать
Размер: 880×660 px
Просто картинка (скриншот твоего шаблона), скорее всего идет с вашей версткой.

Пример картинки 880×660 px
