[Из песочницы] Малоизвестные функции в WordPress
Случалось ли с вами, что во время разбора кода стороннего плагина или темы, вы находили довольно полезную стандартную функцию, о которой раньше не знали? В такие моменты любой разработчик ощущает чувство собственной ничтожности, вспоминая какие велосипеды он городил в предыдущих проектах.Дабы уменьшить количество расстройств, я решил описать несколько малоизвестных, но весьма полезных функций:
make_clickableНаходит в тексте ссылки и делает их кликабельными.Пример:
$string = «This is a long text that contains some links like http://www.wordpress.org and http://www.wordpress.com .»; echo make_clickable ($string); popuplinksДобавляет target='_blank' rel='external' всем ссылкам в тексте.Пример:
$string = «This is a long text that contains some links like http://www.wordpress.org and http://www.wordpress.com .»; echo popuplinks ($string); wp_list_pluckДостает определенные поля из коллекции.Пример:
$posts = get_posts (); $ids = wp_list_pluck ($posts, 'ID'); // [1, 2, 3, …] antispambotПреобразовывает адреса электронной почты в символы HTML, для защиты от спам-ботов.Пример:
$email = 'example@email.com'; echo '' . antispambot ($email) . ''; checked / selectedДобавляет атрибут checked (selected) если первый параметр равен второму.Пример: />
human_time_diffПредставляет разницу во времени в понятном для человека виде.Пример:
$published = get_the_time ('U'); echo human_time_diff ($published); // 2 days wp_send_json_success / wp_send_json_errorВыводит данные в JSON формате для Ajax запросов.Пример:
if ($success) { $result = array ( 'message' => 'Saved', 'ID' => 1 ); wp_send_json_success ($result); // { «success»: true, «data»: { «message»: «Saved», «ID»: 1 } } } else { wp_send_json_error (); // { «success»: false } } wp_remote_get / wp_remote_postПолучает данные со стороннего web ресурса.Пример:
$response = wp_remote_get («https://api.twitter.com/1.1/search/tweets.json? q=%23WordPress», array ('timeout' => 10)); $tweets = wp_remote_retrieve_body ($response); wp_is_mobileОпределяет устройство пользователя.Пример:
if (wp_is_mobile ()) { get_footer ('mobile'); } else { get_footer (); } wp_oembed_getКонвертирует ссылку на медиа ресурс в код проигрывателя.Пример:
$youtube_url = 'https://www.youtube.com/watch? v=Lcvh0DgytH8'; $embed_code = wp_oembed_get ($youtube_url, array ('width' => 800)); wp_tempnamСоздает временный файл с уникальным именем.Пример:
wp_tempnam ('cache.log', get_temp_dir ()); zeroiseДополняет число нулями до определенной длины.Пример:
$tickets_count = 8; echo zeroise ($tickets_count, 3); // 008 capital_P_dangitИсправляет распространенную ошибку в названии бренда WordPress.Пример:
$string = «I Love Wordpress»; echo capital_P_dangit ($string); // I Love WordPress get_num_queriesПоказывает общее количество SQL-запросов к базе данных на странице.Пример:
wp_text_diffНаходит различия в тексте и отображает их в удобном для сравнения виде.Пример:
$left_string = 'This is the original string'; $right_string = 'This is the revised string'; echo wp_text_diff ($left_string, $right_string); submit_buttonГенерирует код кнопки.Пример:
enjoy:)
