Я создаю сайт для компании по недвижимости с WordPress. На данный момент пользовательский плагин (из Tussendoor.nl), который получает объекты из API, создает новые (пользовательский тип сообщения) сообщения с подробностями из пользовательской таблицы базы данных.
В WordPress я также использую Yoast SEO для хлебных крошек и GSD.
Посты, сгенерированные плагином, имеют post_title, который выглядит как: "Номер улицы города".
Я также храню данные, которые плагин создает в полях ACF для сообщений пользовательского типа. Данные, такие как: город, адрес, адрес и номер, цены и т. Д.
В панировочных сухарях я уже достиг того, что сам город - это крошка, введя эту функцию в мои функции. Php:
add_filter( 'wpseo_breadcrumb_links',
'yoast_seo_breadcrumb_append_link' );
function yoast_seo_breadcrumb_append_link( $links ) {
global $post;
$adres = get_field('adres'); // Adress
$plaats = get_field('plaats'); // CITY
$plaats = ucfirst($plaats); // CITY
$plaats = ucfirst(strtolower($plaats)); // City
if ( is_singular( 'realworks_wonen' ) ) {
$breadcrumb[] = array(
'url' => site_url( "/woningaanbod/".$plaats."/" ),
'text' => $plaats,
);
array_splice( $links, 2, -2, $breadcrumb );
}
return $links;
}
Проблема в том, что страница, на которой находится объект, выглядит так:
Домашняя страница> Архив> Город> Номер улицы города (post_title)
Я хочу изменить «Номер улицы города» на «Номер улицы». Я знаю, что это можно получить из поля ACF, но я не знаю, с какой функцией.
Я попытался сделать свою домашнюю работу и погрузился в Документы для разработчиков Yoast и обнаружил следующее: https://developer.yoast.com/code-documentation/hooks/wp_seo_get_bc_title/
apply_filters ('wp_seo_get_bc_title')
Но эта функция еще не привела меня к решению.
Я пробовал это:
function delete_cityname( $title ) {
// $title is an array of title parts, including one called `title`
global $post;
$adres = get_field('adres');
if (is_singular('realworks_wonen')) {
$title['title'] = $title['title'];
}
return $title;
}
Фактический результат: Главная> Архив> Город> Номер улицы города (post_title)
Ожидаемый результат: Домашняя страница> Архив> Город> Номер улицы (поле ACF или удаление из первого слова (но ранее поле acf, потому что город может состоять из 2 слов))