TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

WordPress – Функциия wpparseidlist() для правильно очищенного массива идентификаторов записей

592

Обзор функций

wp_parse_id_list( array|string $list )

$ list (array) (Обязательный) Список идентификаторов.

Возврат:(массив) Готовый массив идентификаторов.

Образец использования

Давайте начнем с простого массива идентификаторов записей:

$list = array( 1, 13, '11', 13 );

На первый взгляд вы заметите, что один из этих идентификаторов является строкой и что 13 дублируется. Итак, давайте запустим список через

wp_parse_id_list( $list );

Результат прохождения нашего списка таков :

array( 1, 13, 11 )

Как видите, результатом является массив целых чисел с совершенно уникальными значениями.

Вариант использования: MySQL IN Clause

Одним из отличных вариантов использования этой функции является пример на MySQL IN. Фактически, это основное использование в ядре WordPress.

Вот пример, извлеченный непосредственно из ядра WordPress:

Примечание. Это будет одинаково хорошо работать с идентификаторами записей, идентификаторами пользователей, комментариями или любым другим контентом, где требуется массив уникальных целых чисел.

Вариант использования: список идентификаторов шорткодов

Еще один вариант использования этой функции – это когда у вас есть шорткод, который принимает один или несколько идентификаторов сообщений. Например:

Теперь пользователь может использовать ваш шорткод так:

[ my_shortcode post_ids = "1" ] или с несколькими идентификаторами, например:

[ my_shortcode post_ids = "1,2,3" ] или, если пользователь не смог использовать запятые и использовал пробелы, это также сработало бы:

[ my_shortcode post_ids = "1 2 3" ] или, если пользователь смешал подходы или даже добавил слишком много пробелов, это также сработало бы:

[ my_shortcode post_ids = "1, 2 3 4" ] или, если пользователь дублирует идентификатор в списке, он будет автоматически удален:

[ my_shortcode post_ids = "1 2 3 3" ]

Есть только два сценария, в которых не удастся правильно очистить список идентификаторов. wp_parse_id_list()

Первый – когда пользователь добавляет начальные или конечные пробелы в список идентификаторов в виде строки:

[ my_shortcode post_ids = "1 2 3 " ]Это добавит 0 к массиву, который, очевидно, не является действительным идентификатором записи.

Во-вторых, когда пользователь явно добавляет 0 в список идентификаторов:

[ my_shortcode post_ids = "0 1 2 3" ] По этой причине я не использую сам по себе, но использую как указано здесь:

array_filter( wp_parse_id_list( $post_ids ) )

Это гарантирует, что 0 никогда не попадет в список идентификаторов.

Статья была переведена для блога TechBlog.SDStudio.top

Источник: wpscholar.com

Источник записи:

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