sanitize_title
Функция sanitize_title()
в WordPress используется для создания «чистого» и безопасного URL-совместимого заголовка (slug) из заданного текста. Она удаляет или заменяет любые символы, которые не подходят для использования в URL, и приводит строку к нижнему регистру. Эта функция часто применяется для создания слагов из названий постов, страниц, категорий и других таксономий.
sanitize_title( $title, $fallback_title = '', $context = 'save' )
;
- $title (строка, обязательный): Заголовок, который нужно очистить.
- $fallback_title (строка, необязательный): Значение по умолчанию, которое будет возвращено, если после очистки заголовок окажется пустым. По умолчанию — пустая строка.
- $context (строка, необязательный): Контекст использования. Возможные значения:
save
,db
,display
,edit
, иquery
. По умолчанию —save
.
Пример использования
- Создание слага из заголовка поста:
В этом примере из строки 'Пример заголовка для поста!'
создается URL-совместимый слаг 'primer-zagolovka-dlya-posta'
.
- Использование резервного значения:
Если исходный заголовок пустой, функция вернет значение из переменной $fallback
, в данном случае 'default-title'
.
Подробное объяснение
- $title: Основной параметр, содержащий текст, который нужно очистить. Эта строка будет преобразована в формат, пригодный для использования в URL.
- $fallback_title: Резервный заголовок используется, если после очистки строка окажется пустой. Это полезно, чтобы избежать пустых слагов.
- $context: Контекст определяет, как будет обрабатываться строка. В большинстве случаев используется контекст
save
, который оптимален для создания слагов при сохранении данных.
Что делает функция
Функция sanitize_title
выполняет следующие действия:
- Приводит строку к нижнему регистру.
- Удаляет нежелательные символы (например, знаки препинания, специальные символы и т. д.).
- Заменяет пробелы и другие разделители на дефисы (
-
). - Преобразует кириллические и другие символы в латиницу (транслитерация).
Применение в WordPress
Функция sanitize_title
используется в WordPress повсеместно, например:
- При создании слага для URL поста или страницы.
- При генерации слага для категории, тега или другой таксономии.
- В плагинах и темах, когда нужно создать URL-совместимое имя на основе произвольного текста.
Функция sanitize_title
является важной частью системы WordPress, которая помогает обеспечить корректное формирование URL на основе пользовательского ввода. Она широко используется для создания слагов, обеспечивая их совместимость с форматами URL и предотвращая проблемы с отображением и доступностью.
Функции WordPress
- wp_tag_cloud
- wp_list_pluck
- has_tag
- wp_add_inline_script
- paginate_links
- single_term_title
- _nx
- load_theme_textdomain
- disabled
- checked
- redirect_canonical
- is_embed
- has_nav_menu
- get_the_posts_navigation
- wp_get_nav_menu_object
- get_nav_menu_locations
- wp_list_sort
- the_archive_description
- posts_nav_link
- wp_check_browser_version
- get_privacy_policy_url
- get_pagenum_link
- get_next_posts_link
- is_author
- the_title_attribute
- get_the_modified_date
- get_the_title_rss
- wp_trim_words
- has_excerpt
- get_the_excerpt
- get_sample_permalink
- get_bloginfo
- get_delete_post_link
- edit_post_link
- sanitize_title_with_dashes
- is_post_type_archive
- update_post_meta
- add_post_meta
- delete_transient
- get_transient
- set_transient
- register_post_type
- register_taxonomy
- wp_title
- get_post_status
- absint
- wp_loginout
- get_search_query
- locate_template
- get_stylesheet
- get_terms
- wp_lostpassword_url
- get_blog_details
- nocache_headers
- wpmu_activate_signup
- is_ssl
- remove_query_arg
- wp_unslash
- wp_registration_url
- add_query_arg
- get_the_modified_time
- esc_attr_e
- get_post_ancestors
- wp_safe_redirect
- get_the_ID
- get_the_title
- get_permalink
- is_user_logged_in
- wp_login_url
- wp_logout_url
- wp_kses
- the_ID
- post_class
- post_password_required
- get_the_password_form
- the_permalink
- get_category_link
- get_categories
- wp_robots
- get_custom_logo
- remove_theme_support
- current_theme_supports
- wp_get_document_title
- is_404
- is_main_query
- remove_action
- wp_nav_menu
- apply_filters
- register_nav_menus
- wp_script_is
- comments_template
- get_template_part
- get_header
- get_footer
- get_search_form
- add_shortcode
- get_template_directory_uri
- get_query_var
- wp_redirect
- current_user_can
- comments_open
- wp_html_excerpt
- human_time_diff
- is_tax
- is_date
- is_category
- in_the_loop
- is_home
- wp_get_theme
- wp_die
- do_robots
- wp_get_recent_posts
- is_year
- is_time
- is_front_page
- get_children
- get_boundary_post
- get_pages
- home_url
- get_option
- body_class
- wp_footer
- bloginfo
- language_attributes
- wp_head
- is_single
- is_singular
- is_archive
- is_search
- is_page
- add_action
- wp_enqueue_style
- wp_enqueue_script
- get_template_directory
- add_theme_support