Как я могу изменить текущий заголовок крошки на одной странице CPT?Yoast & Wordpress - PullRequest
0 голосов
/ 09 июля 2019

Я создаю сайт для компании по недвижимости с 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 слов))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...