Создаем WordPress плагин с админкой

Благодаря умным разработчикам движка Wordpress, каждый желающий легко может написать свой собственный плагин. Для этого вам нужно знать php на среднем уровне и знать, что вы хотите сделать.

В предыдущем уроке я писал о том, как сделать основу для плагина.

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

Для этого нам понадобится тело плагина anblog-bloknot.php, и файл для работы с админкой anblog-bloknot-admin.php и anblog-bloknot-admin_autor.php.

Содержание anblog-bloknot.php:

Начало файла

/*
Plugin Name: Блокнот
Description: Плагин позволяет вести свои заметки, которые доступны только вам, в админке. Подробнее о плагине: <a target="_blank" href="http://blogjquery.ru/sozdaem-wordpress-plagin-s-adminkoj" >здесь</a>
Version: 1.0
Author: Андрей Н
Author URI: http://blogjquery.ru/
Plugin URI: http://blogjquery.ru/sozdaem-wordpress-plagin-s-adminkoj
License: GPL2
*/

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

define('ANBLOG_MASSR_DIR', plugin_dir_path(__FILE__)); //полный путь к корню папки плагина (от сервера)
define('ANBLOG_MASSR_URL', plugin_dir_url(__FILE__)); //путь к корню папки плагина (лучше его использовать)

Добавляем в админку WordPress пункт меню на файл плагина

add_action('admin_menu', 'anblog_bloknot_menu' ); 

Здесь важный момент, anblog_bloknot_menu это название функции что ниже описана:

function anblog_bloknot_menu() {
add_menu_page('Блокнот - плагин произвольных записей в админке', 'Блокнот', 'manage_options', 'anblog-bloknot/anblog-bloknot-admin.php', '', 'dashicons-edit' );
if ( function_exists ( 'add_menu_page' ) ) {
add_submenu_page('anblog-bloknot/anblog-bloknot-admin.php', 'Блокнот - все заметки', 'Все заметки', 'manage_options', 'anblog-bloknot/anblog-bloknot-admin.php');
add_submenu_page('anblog-bloknot/anblog-bloknot-admin.php', 'Блокнот - о плагине', 'Автор плагина', 'manage_options', 'anblog-bloknot/anblog-bloknot-admin_autor.php');
} }

В anblog_bloknot_menu() я добавляю новый пункт меню в админке WordPress за счет функции add_menu_page. В нее я передаю title плагина, затем название пункта меню в админке, права доступа к плагину, путь до файла, который откроется при нажатии на это меню и иконку карандаша.

Также здесь я создаю два подпункта за счет add_submenu_page - они работаю по аналогии с add_menu_page.

Конец файла

 

Теперь если вы сделаете сборку всего плагина даже с пустыми файлами anblog-bloknot-admin.php и anblog-bloknot-admin_autor.php, то он будет работать.

Из-за нехватки времени я не буду останавливаться на подробном содержании этих файлов - если вам понадобится такой функционал, вы его сможете сделать самостоятельно. Я лучше расскажу об особенностях работы с БД.

Если вы будете править anblog-bloknot-admin.php, то для работы с БД не нужно ее подключать - она автоматически подключается движком. Однако инициализируйте глобальную переменную global $wpdb; После чего вам станут доступны функции (примеры):

UPDATE
$wpdb->query("UPDATE $wpdb->posts SET post_parent = 7 WHERE post_status = 'static'");

INSERT
$wpdb->insert('wp_postmeta', array( 'post_id' => $mylastid, 'meta_key' => 'wpcr3_f1', 'meta_value' => $movefile['url']), array( '%s', '%s', '%s' ) );

SELECT
$sel = $wpdb->get_results("SELECT * FROM wp_postmeta WHERE meta_key = '_wp_page_template' AND meta_value = 'metrika10.php'");
if (!empty($sel)) foreach ($sel as $sel_one) {
echo $sel_one->meta_key;
}

и многие другие.

Если вы попробуете запустить php файл админки напрямую из браузерной строки, то выдаст ошибку.

Однако, каталог файлов легко просмотреть, чтобы это исправить, в корневой директории создайте пустой index.html

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

 

 

Создаем WordPress плагин с админкой: 1 комментарий

  1. Здравствуйте! Просто архивируем папку с плагином в формате .zip, далее переходим в админку - плагины - добавить новый. Жмем на кнопочку загрузить и загружаем наш архив. А дальше всё как при установке любого другого плагина.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Введите капчу: