Больше результатов...

Generic selectors
Только точные совпадения
Искать в заголовках
Искать в контенте
Post Type Selectors
Filter by Categories
FAQ
Hostenko
Вдохновение
Видеоуроки
Новости
Плагины
Темы
Уроки
Хаки

Как только вы закапываетесь в проект на WordPress, обнаруживается, что вам нужно реализовать множество задач. И для них есть множество отличных функций, которые уже встроены в этот движок. Нужно просто знать, как правильно пользоваться этими функциями. Но не всегда можно найти в поиске все нужные функции, и в этом посте мы разберемся, какие функции нужны настоящему WordPress-джедаю.

1.get_post_field

Очень полезная функция для получения данных из таблицы в функции wp_posts без необходимости создавать запрос для всего поста.

inet.ws - Powerful VPS Hosting in the USA, Canada, UK and DE!
get_post_field( $field, $post_id, $context );

Всё говорит само за себя.

2.wp_list_pluck

Крайне полезная функция для работы с массивами, которая позволяет задать конкретное значение для массива без создания цикла и поместить его в новый массив:

wp_list_pluck( $list, $field );

3.antispambot

Очень часто вместо этой функции используют библиотеки сторонних разработчиков. Эта функция автоматически конвертирует электронные письма и адреса в HTML, чтобы избавиться от проклятых спам-ботов. Достаточно ввести пару значения в настройках — и всё готово!

antispambot( $emailaddy, $mailto );

4.checked / selected

Часто в работе нужны функции для проверки того, выбраны ли значения или нет. В 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_successwp_send_json_error

Парочка сравнительно новых функций, которые появились в WordPress, начиная с версии движка 3.5, для работы с JSON. Поможет вам обойтись без создания отдельного массива. Всё просто и эффективно!

wp_send_json_success( $data );
wp_send_json_error( $data );

8.wp_remote_getwp_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' );

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

Источник: laserred.co
inet.ws - Powerful VPS Hosting in the USA, Canada, UK and DE!
Алексей Шевченко
редактор wpcafe
Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующий на создание сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/

Комментарии к записи: 6

Vitalij Korotkov:

Какой плагин можно использовать для реализации подсветки изображений (с гиперссылкой) при наведении на него, как у Вас в теме блога. Извините, что не в тему, не знаю куда писать.

Ethernotificationer:

в css прописать. a:hover и дальше что именно нужно.
К примеру как здесь a:hover img {opacity: 0.8; }

Vitalij Korotkov:

Большое человеческое спасибо!

ForrestBonduran:

Спасибо, понадобилось

Alexándre Domínguez:

И вправду о многом не знал, полезно, сразу в закладки и заметки. Спасибо.

Евгений:

Добрый день. Есть проблема — на сайте есть страница с договором и с нее переход к оплате. И необходимо сделать так, чтобы пока не отмечен чек бокс «согласен с договором» перейти к оплате было бы невозможно.
Если не ошибаюсь то пункт 4 данной статьи как раз то что нужно, но вот не соображу по поводу ее реализации, подскажите, пжл,

Добавить комментарий