Метатеги title и description в WordPress

Простой способ генерации метатегов title и description для сайта на WordPress.

Сначала устанавливаем плагин Advanced Custom Fields и создаем текстовые поля title и description. Подробно описывать не буду, тут все интуитивно понятно.

Копируем код ниже и вставляем в файл functions.php.

function get_title() {
	//это нужно чтобы определить таксономию и ее id
	$queried_object = get_queried_object(); 
	$taxonomy = $queried_object->taxonomy;
	$term_id = $queried_object->term_id; 
	
	if ( is_category() ) { // тут через оператор "или" можно дописать необходимые вам условия, к примеру, is_product_category()
		if (get_field('title', $taxonomy.'_'.$term_id)!='') 
			$title = get_field('title', $taxonomy.'_'.$term_id);
		else 
			$title = single_cat_title();
	} else if (get_field('title')!='') {
		$title = get_field('title');
	} else { 
		$title = the_title();
	}
	$title .= ' - '.get_bloginfo('name');
	return $title;
}

function get_description() {
	if ( is_category() ) {
		if (get_field('description', $taxonomy.'_'.$term_id)!='') 
			$description = get_field('description', $taxonomy.'_'.$term_id);
	} else if (get_field('description')!='') {
		$description = get_field('description');
	} else { 
		$description = '';
	}
	return $description;
}

Используем внутри head:

<title><?php echo get_title(); ?></title>
<meta name="description" content="<?php echo get_description(); ?>" />