diff --git a/functions.php b/functions.php index c008a13..e49394d 100644 --- a/functions.php +++ b/functions.php @@ -516,42 +516,78 @@ function get_category_name($post = null) // Добавляем функцию для формирования мета-тегов страницы function custom_meta_tags() { - $meta_tags = ''; + $sitename = get_bloginfo('name'); + $meta_tags = ''; + $og_tags = ''; + + $og_tags .= ''; + $og_tags .= ''. PHP_EOL; + + // Получаем заголовок страницы if (is_single() || is_page()) { + + $current_url = get_permalink(); + $post = get_post(); // Получаем объект текущего поста или страницы $title = get_the_title($post).' - '.$sitename; // Получаем заголовок текущего поста или страницы $description = get_the_excerpt($post); // Получаем отрывок текущего поста или страницы + $tags = get_the_tags($post); // Получаем теги текущего поста или страницы $keywords = ''; // Переменная для хранения ключевых слов if ($tags) { $keywords = implode(', ', wp_list_pluck($tags, 'name')); // Формируем строку с тегами через запятую } + + $post_thumbnail_id = get_post_thumbnail_id($post->ID); + $post_thumbnail_url = wp_get_attachment_image_src($post_thumbnail_id, 'full'); + if ($post_thumbnail_url) { + $og_image = esc_url($post_thumbnail_url[0]); + $og_tags .= ''. PHP_EOL; + $og_tags .= ''. PHP_EOL; + } + + $og_tags .= ''. PHP_EOL; + } elseif (is_category()) { $category = get_queried_object(); // Получаем объект текущей рубрики + $current_url = get_term_link($category); $title = $category->name.' - '.$sitename; // Получаем название текущей рубрики $description = $category->description; // Получаем описание текущей рубрики - $keywords = $title; // Ключевые слова - название рубрики + $keywords = $category->name; // Ключевые слова - название рубрики } elseif (is_home()) { + + $current_url = get_site_url(); + $title = $sitename; // Получаем название сайта для главной страницы $description = get_bloginfo('description'); // Получаем описание сайта для главной страницы $keywords = ''; // Для главной страницы ключевые слова оставляем пустыми + + $og_tags .= ''. PHP_EOL; } + // Добавляем мета-теги только в случае, если их значения не пусты + if (!empty($current_url)) { + $og_tags .= '' . PHP_EOL; + } if (!empty($title)) { $meta_tags .= '