Коротке пояснення коду:


Кожна функція виконує свою роль, створюючи, зберігаючи та виводячи мета-інформацію для покращення SEO сайту.
Функція теми (functions.php)
// Функція для додавання мета-блоку Description в редактор постів і сторінок
function add_meta_box_description() {
add_meta_box(
'meta_description', // ID мета-блоку
'Meta Description', // Заголовок мета-блоку
'custom_meta_description_callback', // Callback функція, яка буде виводити форму
['post', 'page'], // Типи контенту, до яких буде доданий мета-блок (пости та сторінки)
'normal', // Позиція мета-блоку (зазвичай 'normal' для стандартного розташування)
'high' // Пріоритет відображення мета-блоку
);
}
add_action('add_meta_boxes', 'add_meta_box_description'); // Прив'язуємо функцію до хуку add_meta_boxes
// Функція callback для відображення мета-опису
function custom_meta_description_callback($post) {
// Отримуємо збережене значення мета-опису з бази даних
$description = get_post_meta($post->ID, '_meta_description', true);
// Виводимо поле вводу для мета-опису
echo '<textarea style="width:100%" name="meta_description">' . esc_textarea($description) . '</textarea>';
}
// Функція для збереження мета-опису при збереженні поста або сторінки
function save_meta_description($post_id) {
// Перевіряємо, якщо значення для meta_description встановлено в POST запиті
if (isset($_POST['meta_description'])) {
// Зберігаємо мета-опис у базу даних з фільтрацією
update_post_meta($post_id, '_meta_description', sanitize_text_field($_POST['meta_description']));
}
}
add_action('save_post', 'save_meta_description'); // Прив'язуємо функцію до хуку save_post
// Функція для додавання мета-блоку Keywords в редактор постів і сторінок
function add_meta_boxes_keywords() {
add_meta_box(
'meta_keywords', // ID мета-блоку
'Meta Keywords', // Заголовок мета-блоку
'custom_meta_keywords_callback', // Callback функція, яка буде виводити форму
['post', 'page'], // Типи контенту (пости та сторінки)
'normal', // Позиція мета-блоку
'high' // Пріоритет відображення мета-блоку
);
}
add_action('add_meta_boxes', 'add_meta_boxes_keywords'); // Прив'язуємо функцію до хуку add_meta_boxes
// Функція callback для відображення мета-ключових слів
function custom_meta_keywords_callback($post) {
// Отримуємо збережені ключові слова з бази даних
$keywords = get_post_meta($post->ID, '_meta_keywords', true);
// Виводимо поле вводу для мета-ключових слів
echo '<textarea style="width:100%" name="meta_keywords">' . esc_textarea($keywords) . '</textarea>';
}
// Функція для збереження мета-ключових слів при збереженні поста або сторінки
function save_meta_keywords($post_id) {
// Перевіряємо, якщо значення для meta_keywords встановлено в POST запиті
if (isset($_POST['meta_keywords'])) {
// Зберігаємо мета-ключові слова у базу даних з фільтрацією
update_post_meta($post_id, '_meta_keywords', sanitize_text_field($_POST['meta_keywords']));
}
}
add_action('save_post', 'save_meta_keywords'); // Прив'язуємо функцію до хуку save_post
// Функція для додавання мета-тегів у <head> для окремих сторінок і записів
function add_meta_tags() {
if (is_singular(['post', 'page'])) { // Перевіряємо, якщо це окремий запис або сторінка
// Отримуємо мета-опис і мета-ключові слова
$meta_description = get_post_meta(get_the_ID(), '_meta_description', true);
$meta_keywords = get_post_meta(get_the_ID(), '_meta_keywords', true);
// Якщо мета-опис не порожнє, виводимо тег <meta name="description">
if (!empty($meta_description)) {
echo '<meta name="description" content="' . esc_attr($meta_description) . '">' . "\n";
}
// Якщо мета-ключові слова не порожні, виводимо тег <meta name="keywords">
if (!empty($meta_keywords)) {
echo '<meta name="keywords" content="' . esc_attr($meta_keywords) . '">' . "\n";
}
}
}
add_action('wp_head', 'add_meta_tags'); // Прив'язуємо функцію до хуку wp_head
Хуки активації та ініціалізації у WordPress: Де і коли створювати таблиці
119
Як створити таблицю в WordPress через functions.php: Повний гід по типам даних MySQL
122
Select в HTML: прихований placeholder, підсвічування і динамічний індикатор терміновості
215
Як створити власне меню в адмінці WordPress: простий гайд для новачків
135
Кастомізація сторінки входу в WordPress: логотип, кольори, фонове зображення та власний CSS
336
Кастомізація сторінки входу в WordPress: логотип, кольори, фонове зображення та власний CSS 336
Як виявити блокувальник реклами на сайті за допомогою JavaScript 242
Мінімальна сума замовлення WooCommerce 224
Як додати виджет для валют на панель адміністратора WordPress 217
Select в HTML: прихований placeholder, підсвічування і динамічний індикатор терміновості 215
Залишити відповідь