Intereting Posts
Справка: Подключение IFTTT к моей странице WordPress не работает! Показать эскизы к элементам категории в wp_nav_menu (), как? Я не могу войти в систему, чтобы выполнить функцию wordpressa, nocache_headers Отображать внешнюю RSS-ленту на страницах Удалить настройки управления пользовательским устройством (тип: радиоресурс) с использованием детских тем Отредактируйте «спасибо за создание с помощью WordPress» в версии 3.3.1 Вставить несколько мета в одно время Листинг заголовков и настраиваемых полей записей в подкатегориях Как обеспечить отображение социальных значков на всех страницах? Разве WP удаляет устаревшие файлы плагинов / тем для обновления плагина / темы? Что я могу сделать для достижения этого эффекта: WIP -> Портфолио Анонимная функция выполняется дважды в wp_head при добавлении из фильтра the_posts? добавить изображение в автозаполнение jquery? Как включить все файлы в папку в functions.php? WP-TweetButton не отображает кнопку твита, если для этого установлено значение «Вручную».

Функция sanitize_title () не работает

Провел довольно много времени, пытаясь понять это. Я реализовал функцию стоп-пробела, которая имитирует то, что, как я полагаю, должна выполнять эта функция, но я хотел бы использовать родные библиотеки / функции, где это возможно, так что вы знаете, что это за черт?

<?php phpinfo(); require_once("/data/[ignore]/[me]/wordpress-4.7.5/wp-includes/formatting.php"); require_once("/data/[ignore]/[me]/wordpress-4.7.5//wordpress-4.7.5/wp-includes/plugin.php"); $unsanitized_string = '123 qwe ASD'; $sanitized_string = sanitize_title($unsanitized_string); echo $sanitized_string; ?> 

Из документации здесь я бы ожидал, что код выше вернет что-то вроде:

 123-qwe-asd 

скорее, он возвращает:

 123 qwe ASD 

Кроме того, из кода введите описание ссылки здесь , я вижу, что он что-то делает с фильтрами. Мне интересно, если что-то об фильтрах, о которых я пренебрегаю.

Учитывая, что sanitize_title () существует примерно с версии 1.0 или около того, я считаю маловероятным, что что-то такое, казалось бы, целостное будет нарушено. Есть предположения?

Я относительно новичок в PHP и WordPress, поэтому я уверен, что у вас все будут вопросы относительно того, как выглядит моя среда. Вместо того, чтобы просто сбрасывать все phpinfo () в этот пост (кажется, небезопасно), позвольте мне, если вам нужно увидеть какие-либо настройки, и я предоставлю.

 PHP Version => 7.0.19-1+deb.sury.org~xenial+2 

Как вы можете видеть в исходном коде sanitize_title() , вся функция делает это 3 вещи

  1. примените функцию remove_accents() , предположительно, чтобы удалить акценты
  2. применить фильтр sanitize_title
  3. возвращает либо $title либо $fallback_title

Поскольку вы загружаете только некоторые частичные файлы WordPress, вы, вероятно, будете пропускать все свойства фильтра.

Я немного вырыл исходный код, и похоже, что sanitize_title_with_dashes() выполняет большую часть работы. Функция также находится в /wp-includes/formatting.php, поэтому в вашем случае я бы просто использовал ее совместно с remove_accents()

 $sanitized_string = sanitize_title_with_dashes( remove_accents( $unsanitized_string ) );