Заслуживающее внимания руководство по созданию собственных пользовательских виджетов в WordPress

Опубликовано: 2021-07-06

Собственные пользовательские виджеты

Как создать собственные виджеты на сайте WordPress

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

Кроме того, виджеты могут быть добавлены в несколько других областей темы WP, таких как верхний и нижний колонтитулы и т. д.) в зависимости от ваших желаний и потребностей.

Виджеты, в основном, помогают перетаскивать элементы на вашем сайте. По умолчанию вы можете найти несколько виджетов на панели администратора темы WordPress.

Однако вы можете сделать панель вашего сайта еще более удобной для создания пользовательских виджетов. В этом посте я покажу вам, как создать свой собственный виджет на панели управления веб-сайта WordPress.

Связанный пост: Как добавить виджеты и начать использовать их на веб-сайте WordPress?

Как вы можете создать пользовательский виджет в панели инструментов?

Допустим, вы хотите создать собственный виджет в панели администратора вашего сайта. Для этого самое первое, что вам нужно сделать, это зарегистрировать свой виджет в WordPress.

Для этого вам просто нужно использовать функцию wp_add_dashboard_widget(). Это функция WordPress по умолчанию, которая информирует WordPress о вновь созданном виджете.

Ниже приведен код, который демонстрирует, как вы можете зарегистрировать пользовательский виджет:

// Register your custom widget function by hooking into the 'wp_dashboard_setup' action
add_action( 'wp_dashboard_setup', 'first_custom_dashboard_widget' );

функция first_custom_dashboard_widget() {

wp_add_dashboard_widget(

'first_custom_dashboard_widget',
// это слаг виджета
«Первый настраиваемый виджет панели инструментов»,
//это название вашего виджета
'first_custom_dashboard_widget_display'
//Функция отображения
);

}
//Создайте функцию для отображения содержимого, которое будет отображаться внутри виджета Dashboard.
функция first_custom_dashboard_widget_display() {

echo 'Вы описываете здесь свой виджет Widget';

}

Примечание. Приведенный выше код необходимо добавить в файл functions.php вашей темы.

Приведенный выше фрагмент кода поможет в создании пользовательского виджета под названием «First Custom Dashboard Widget». Давайте теперь разберемся, как работает код:

  • В первой строке кода функция register_first_custom_dashboard_widget() подключается к хуку действия wp_dashboard_setup. Проще говоря, начальная строка кода означает, что всякий раз, когда действие wp_dashboard_setup появляется в коде вашей темы, будет выполняться first_custom_dashboard_widget().
  • Затем функция wp_dashboard_setup() делает простой вызов wp_add_dashboard_widget() с различными параметрами, такими как:
    • Слаг виджета
    • Название виджета
    • Функция отображения

    Все эти параметры необходимы для создания ваших пользовательских виджетов.

  • Наконец, функция my_dashboard_widget_display() определена и содержит некоторый текстовый контент, говорящий: «Это мой первый пользовательский виджет».


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

Вывод:
большой палец

Как изменить положение ваших пользовательских виджетов?

В разделе выше мы обсудили код, который помогает создавать и добавлять пользовательские виджеты на панель управления веб-сайта WordPress.

По-видимому, вы хотели бы дать пользователям вашего плагина возможность размещать ваш «Пользовательский виджет панели мониторинга» в любом месте по своему выбору, просто перетаскивая его.

К сожалению, WordPress не поставляется с простым в использовании API, который позволил бы вам выполнять предварительную сортировку виджетов по умолчанию. Это означает, что ваш пользовательский виджет всегда будет отображаться в нижней части списка панели инструментов.

Но что, если вы захотите поместить свой пользовательский виджет выше всех виджетов по умолчанию? Вы можете сделать это, повозившись с кодом.

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

function first_custom_dashboard_widgets() {
wp_add_dashboard_widget( 'first_custom_dashboard_widget', 'First Custom Dashboard Widget', 'first_custom_dashboard_widget_function' );
// Globalize the array of the metaboxes, this will apply to all the widgets for wp-admin
global $wp_meta_boxes;
// Fetch array of the regular dashboard widgets
$normal_dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
// Create a backup of the custom dashboard widget and delete it from the end of the array
$first_custom_widget_backup = array( 'first_custom_dashboard_widget' => $normal_dashboard['first_custom_dashboard_widget'] );
unset( $normal_dashboard['first_custom_dashboard_widget'] );
// Combine both the arrays together to put custom widget at the beginning
$sorted_dashboard = array_merge( $first_custom_widget_backup, $normal_dashboard );
// Save the value of sorted array back into the main metaboxes
$wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard;
}

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

Подведение итогов
Хотя WordPress предоставляет доступ к нескольким виджетам по умолчанию для расширения возможностей панели администратора вашего веб-сайта, он все же может не удовлетворить ваши конкретные потребности.

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

Излишне говорить, что создание нового виджета, предназначенного для выполнения какой-либо задачи в панели администратора, окажется для вас полезным.

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

Помните, что если у вас возникли трудности с кодированием, лучше нанять разработчика WordPress, который поможет вам завершить ваш проект.

Биография автора:
Сэмюэл Доусон — разработчик приложений для веб-сайтов и файловый менеджер в Designs2html Ltd. Он также успешно конвертирует HTML в тему WordPress.

Он динамически поддерживает общую обработку файлов WordPress. Статья об управлении виджетами в WordPress написана им.