Как преобразовать заголовок страницы в нижний регистр?
В моём тестовом случае заголовок страницы - "Privacy". Простое применение
strtolower(the_title())
также возвращает "Privacy" - всё ещё с заглавной P. Я также пробовал
mb_strtolower(the_title())
и
mb_strtolower(the_title(), 'utf8')
с аналогичными результатами.
Не уверен, имеет ли это значение, но в моём wp-config.php указано:
define('WPLANG', '');
define('DB_CHARSET', 'utf8');

Приведение заголовка к нижнему регистру
Если я правильно вас понимаю, вам следует использовать:
strtolower(get_the_title());
или
print strtolower(get_the_title());
если вы хотите его отобразить. Ниже приведено объяснение почему.
the_title() vs. get_the_title()
Функция the_title()
выводит заголовок текущей записи, если только вы не передадите false
в качестве третьего аргумента. Если вы не вызываете её так:
$title = the_title('', '', false);
заголовок будет выведен, а переменная $title
останется пустой. Это важно, потому что вызов strtolower()
для пустой переменной не даст никакого эффекта.
В большинстве случаев, когда вам нужно получить заголовок записи в переменную, следует использовать функцию get_the_title()
.
Однако обратите внимание, что если вы не в цикле, вам нужно передать ID записи в get_the_title()
. В большинстве случаев на странице отдельной записи можно сделать так:
get_the_title($post->ID);
так как переменная $post
должна быть в глобальной области видимости.

Вот отличный плагин для этого. Он доступен на моем сайте, WordPress.org, GitHub и других платформах. Он полностью бесплатный, без платных версий. Не стесняйтесь скачать его. Этот плагин работает на уровне данных, что позволяет вам изменять регистр позже или применять его выборочно. Это хороший вариант, и, как я уже сказал, он отлично работает!
Мой сайт:
https://properprogramming.com/tools/wp-change-titles-case/
WordPress: https://wordpress.org/plugins/change-titles-case/
