<? phpukraine СПІВБЕСІДИ
⌕Пошук по платформі

WordPress для Junior: питання на співбесіду

6 питань рівня Junior з теми WordPress з розгорнутими відповідями, порадами та перевіркою.

Тема
Рівень
6 питань
WP
WordPress·Junior ·плагіни ·functions.php ·mu-plugins

Тема відповідає за вивід, плагін - за дані й поведінку: усе, що має жити довше за оформлення (CPT, шорткоди, інтеграції, cron), винось у плагін, бо functions.php вимикається разом зі зміною теми.

Завантажую відповідь…
Сторінка питання →
WP
WordPress·Junior ·child theme ·оновлення ·WP_Upgrader

Оновлення теми видаляє її теку цілком і розпаковує нову, тому будь-яка правка всередині батьківської теми зникає; дочірня тема живе в окремій теці, яку оновлювач не чіпає, і має містити мінімум власного коду, бо кожен скопійований шаблон стає форком, що застаріває.

Завантажую відповідь…
Сторінка питання →
WP
WordPress·Junior ·хуки ·actions ·filters

Action виконує побічну дію в певній точці життєвого циклу й нічого не повертає; filter отримує значення, змінює його й обовʼязково повертає.

Завантажую відповідь…
Сторінка питання →
WP
WordPress·Junior ·ієрархія шаблонів ·child theme ·template-loader

Після резолву запиту wp-includes/template-loader.php перебирає умовні теги (is_404, is_search, is_front_page, is_home, is_singular, is_archive…) і для першого збігу будує список кандидатів від найконкретнішого до index.php; locate_template() шукає кожного кандидата спершу в child theme, потім у parent, тому перекриття — це файл із такою самою назвою в дочірній темі.

Завантажую відповідь…
Сторінка питання →
WP
WordPress·Junior ·wp_posts ·wp_postmeta ·wp_options

Контент усіх типів лежить в одному wp_posts і розрізняється колонкою post_type, довільні поля в wp_postmeta за схемою EAV, налаштування в wp_options; рядки з autoload читаються одним запитом на кожен запит до сайту, тому роздутий autoload гальмує весь сайт.

Завантажую відповідь…
Сторінка питання →
WP
WordPress·Junior ·capabilities ·ролі ·current_user_can

Роль - це лише іменований набір capabilities у таблиці options; перевіряти завжди треба capability через current_user_can, meta-можливості типу edit_post - разом з ID обʼєкта, а власні ролі додавати в register_activation_hook і прибирати в uninstall.php.

Завантажую відповідь…
Сторінка питання →
Прогрес карток і тестів зберігається у профілі. Створити профіль·Увійти