Маленькая хитрость при написании админки плагина под 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, то прежде чем изобретать велосипед попытайтесь воспользоваться готовым)

Рейтинг: 4.5

2022-07-01 / / 0 комментариев / Про кодинг и сервер / ,