Як тільки ви закопуєтеся в проект WordPress, виявляється, що вам потрібно реалізувати безліч завдань. І для них є безліч відмінних функцій, які вже вбудовані в цей двигун. Потрібно просто знати, як правильно користуватись цими функціями. Але не завжди можна знайти у пошуку всі потрібні функції, і в цьому пості ми розберемося, які функції потрібні справжньому WordPress-джедаю.
1.get_post_field
Дуже корисна функція для отримання даних з таблиці функції wp_posts без необхідності створювати запит для всього посту.
get_post_field( $field, $post_id, $context );
Все говорить саме за себе.
2.wp_list_pluck
Надзвичайно корисна функція для роботи з масивами, яка дозволяє задати конкретне значення для масиву без створення циклу і помістити його в новий масив:
wp_list_pluck( $list, $field );
3.antispambot
Дуже часто замість цієї функції використовують бібліотеки сторонніх розробників. Ця функція автоматично конвертує електронні листи та адреси в HTML, щоб позбавитися від проклятих спам-ботів. Достатньо ввести пару значень у налаштуваннях — і все готово!
antispambot( $emailaddy, $mailto );
4.перевірено / обраний
Часто в роботі потрібні функції для перевірки того, чи вибрано значення чи ні. WordPress має вбудовану функцію і для цієї мети. А точніше навіть 2 функції. Вони допоможуть перевірити правильність атрибутів.
Якщо користуватися стандартним твердженням if - отримаємо наступний код:
<input type='checkbox' name='options[postlink]' value='1' <?php if ( $foo == 1 ) echo 'checked="checked"'; ?> />
А ось використовуючи функцію checked , отримуємо:
<input type="checkbox" name="options[postlink]" value="1" <?php checked( $foo, 1 ); ?> />
Робота зі стандартним умовним твердженням виглядає так:
<select name="foo">
<option value="1" <?php if ( $foo == 1 ) echo 'selected="selected"'; ?>>1</option>
<option value="2" <?php if ( $foo == 2 ) echo 'selected="selected"'; ?>>2</option>
<option value="3" <?php if ( $foo == 3 ) echo 'selected="selected"'; ?>>3</option>
</select>
А ось як працює WordPress-функція selected :
<select name=foo">
<option value="1" <?php selected( $foo, 1 ); ?>>1</option>
<option value="2" <?php selected( $foo, 2 ); ?>>2</option>
<option value="3" <?php selected( $foo, 3 ); ?>>3</option>
</select>
5.body_class
Додавання своїх класів до постів і сторінок ніколи не було простіше, ніж з цією функцією, яка вбудована в двигун - досить одного-єдиного тега:
<body <?php body_class(); ?> >
6.human_time_diff
Ця функція аналогічна популярної функції Twitter: просто введіть 2 часові позначки для того, щоб вказати інтервал часу. Корисна, якщо треба зазначити час, коли пост було відредаговано або оновлено вже після його публікації.
human_time_diff( $from, $to );
7.wp_send_json_success / wp_send_json_error
Пара порівняно нових функцій, які з'явилися в WordPress, починаючи з версії движка 3.5, для роботи з JSON . Допоможе вам обійтись без створення окремого масиву. Все просто та ефективно!
wp_send_json_success( $data );
wp_send_json_error( $data );
8.wp_remote_get / wp_remote_post
Ці допоміжні функції досить просто додають дані віддалених джерел. Зазвичай вам треба було писати щось на кшталт:
$ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $data = curl_exec($ch); curl_close($ch);
Але весь цей код можна замінити однією короткою функцією:
wp_remote_get( $url, $args );
9.get_template_part
Ця функція завантажує частину шаблону в новий шаблон, що корисно при повторному використанні оригінального шаблону для створення нових, без необхідності, повністю перекроювати тему оформлення.
get_template_part( 'loop', 'index' );
Сподіваюся, ці функції допоможуть вам у роботі та спростять вирішення типових завдань під час програмування нових сайтів. Вдалого кодингу!





















Коментарі до запису: 6
Який плагін можна використовувати для реалізації підсвічування зображень (з гіперпосиланням) при наведенні на нього, як у Вас у темі блогу. Вибачте, що не в тему, не знаю, куди писати.
у css прописати. a:hover і далі, що саме потрібно.
Наприклад, як тут a:hover img {opacity: 0.8; }
Велике людське спасибі!
Дякую, знадобилося
І справді багато про що не знав, корисно, відразу в закладки та нотатки. Дякую.
Добрий день. Є проблема — на сайті є сторінка з договором та з неї перехід до оплати. І необхідно зробити так, щоб поки не відзначено чек бокс «згодний з договором» перейти до оплати було б неможливо.
Якщо не помиляюся то пункт 4 цієї статті саме те, що потрібно, але не розумію з приводу її реалізації, підкажіть, пжл,