Маленькая хитрость при написании админки плагина под WP

Известно, что чем больше плагинов, тем сильнее они тормозят работу сайта, причем не только фронтэнд, но и бэкэнд. Все потому, что разработчики зачастую тащат с собою свои велосипеды.

Админка вордпресс

Возьмем к примеру плагин форм обратной связи, а именно, страницу со списком всех созданных пользователем форм. Все разделы плагина внешне выглядят стандартно. В шапке таблички имеем чекбокс, нажав на который можно отметить сразу все поля. Так вот. Автор плагина использует для подобной вещи такую конструкцию в своем коде:

$(‘.check-all:checkbox’).change(function() {
var group = ‘.m_id’;
$(group).attr(‘checked’, $(this).attr(‘checked’));
});

Казалось бы, в чем тут ошибка? Все четко и лаконично.

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

<table class=’wp-list-table widefat fixed striped page’>
<thead>
<tr>
<td class="check-column"><input type="checkbox"></input></td>
<th>Заголовок колонки 2</th>
<th>Заголовок колонки 3</th>
</tr>
</thead>
<tbody id="the-list">
<tr>
<th class="check-column"><input type="checkbox" value=""></th>
<td>Какие-то данные</td>
<td>Какие-то данные</td>
</tr>
</tbody>
</table>

и надобность скрипта отпадет! А все потому, что в самом Вордпрес такой скрипт уже существует, более того, он подгружен в админке постоянно! Кстати, если в строке три примера td заменить на th, то незначительно поплывет верстка (чекбокс перестанет быть по-центру ячейки).

Вообще посыл данной статьи в том, что если Вы намерены использовать какие-то весьма стандартные и часто используемые функции в WordPress, то прежде чем изобретать велосипед попытайтесь воспользоваться готовым)


2022-06-03 | | 0 комментариев | Кодинг | ,

Рейтинг:

Похожие записи

Кейс: Как создать фид для OZON в WooCommerce

При помощи плагина YML for Yandex Market можно создавать фиды не только для Яндекса, но и для других маркетплейсов. В этом кейсе разберём создание фида...

W3TC Page Cache мешает созданию фида (решение)

Эта инструкция актуальна для плагинов: YML for Yandex Market; XML for Google Merchant Center; XML for Avito. XML for Hotline; XML for O.Yandex (Яндекс Объявления);...

Настройка плагина Gift upon purchase for WooCommerce

Плагин Gift upon purchase for WooCommerce позволяет автоматически добавлять в корзину пользователя подарки, если он выполняет те или иные условия. Например, с помощью данного плагина...

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

Ваш адрес email не будет опубликован.