Я использовал Расширенные настраиваемые поля для добавления настраиваемого поля заголовка страницы на все мои страницы, публикации, категории и продукты.
Чтобы удалить тег <title>
по умолчанию и убедиться, что это поле проходит черезправильно, я использовал следующую функцию в моем файле functions.php:
/* Remove Default <title> tag */
remove_action( 'wp_head', '_wp_render_title_tag', 1 );
// Add new <title> and description tags
function child_theme_head_script() { ?>
<title><?php the_field('seo_page_title'); ?></title>
<meta name="description" content="<?php the_field('seo_page_description'); ?>"/>
<!-- Your HTML goes here -->
<?php }
add_action( 'wp_head', 'child_theme_head_script' );
Это прекрасно работает на всем сайте, за исключением страниц моей категории здесь: http://staging.morningsidepharm.com/products/branded-medicines
О категориистраниц, кажется, берет название от первого продукта, который появляется на странице ... Для страницы выше заголовок страницы отображается как: Таблетки Бимицца (Desogestrel Ethinylestradiol) Фирменное лекарство |Morningside Pharmaceuticals
Вместо того, чтобы просто: Фирменная медицина |Morningside Pharmaceuticals
Я думал, что wp_head
в этой функции нацелится на заголовок всех страниц Wordpress, затем удалит тег заголовка и добавит пользовательский тег ... Похоже, на самом деле это делается правильно,но это просто добавление данных из первого продукта, а не из категории.Категория выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/flVjE.png)
Файлы SEO, которые соответствуют: <?php the_field('seo_page_title'); ?>
и <?php the_field('seo_page_description'); ?>
Кто-нибудь может указать мне правильное направление?Я не уверен, где я иду не так ...
** ОБНОВЛЕНИЕ ** ** ОБНОВЛЕНИЕ **
С тех пор я пробовал это, но, похоже, не имеетэффект ...
/* Remove Default <title> tag */
remove_action( 'wp_head', '_wp_render_title_tag', 1 );
// Add new <title> and description tags
$term = get_queried_object();
$title = get_field('seo_page_title', $term);
$desc = get_field('seo_page_description', $term);
function child_theme_head_script() { ?>
<title><?php echo $title; ?></title>
<meta name="description" content="<?php echo $desc; ?>"/>
<!-- Your HTML goes here -->
<?php }
add_action( 'wp_head', 'child_theme_head_script' );