Створення плагінів для WordPress з нуля

WordPress – це найпопулярніша CMS у світі, яка дозволяє створювати сайти будь-якої складності. Однією з головних переваг цієї платформи є її розширюваність за допомогою плагінів. Якщо ти фрілансер і хочеш розширити свої можливості, створення плагінів для WordPress – це чудова навичка, яка може значно підвищити твій дохід. У цій статті я розповім, як створити свій перший плагін для WordPress з нуля.


1. Що таке плагін для WordPress?

Плагін – це PHP-скрипт або набір файлів, які додають новий функціонал у WordPress без необхідності змінювати код основної системи. Це можуть бути форми зворотного зв’язку, інтеграції з API, зміни інтерфейсу сайту або навіть великі функціональні модулі.


2. Основи створення плагіна

2.1 Структура плагіна

Будь-який плагін для WordPress складається мінімум з одного PHP-файлу. Типова структура плагіна може виглядати так:

my-first-plugin/
├── my-first-plugin.php
├── readme.txt
├── assets/
│   ├── css/
│   ├── js/
├── includes/
  • my-first-plugin.php – головний файл плагіна.
  • readme.txt – опис плагіна.
  • assets/ – папка для зберігання CSS, JS та зображень.
  • includes/ – додаткові PHP-файли.

3. Створення базового плагіна

3.1 Створення головного файлу

Створи папку my-first-plugin у wp-content/plugins/ і всередині неї файл my-first-plugin.php. У ньому додай наступний код:

<?php
/**
 * Plugin Name: My First Plugin
 * Plugin URI: https://example.com/my-first-plugin
 * Description: Простий плагін для WordPress
 * Version: 1.0
 * Author: Твоє ім'я
 * Author URI: https://example.com
 * License: GPL2
 */

if (!defined('ABSPATH')) {
    exit; // Захист від прямого доступу
}

Цей код містить заголовок, який WordPress використовує для ідентифікації плагіна.

3.2 Додавання хука активації

При активації плагіна можна виконати певні дії, наприклад, створити таблиці в базі даних:

function my_plugin_activate() {
    // Дії при активації
    update_option('my_plugin_option', 'activated');
}
register_activation_hook(__FILE__, 'my_plugin_activate');

3.3 Додавання хука деактивації

function my_plugin_deactivate() {
    // Дії при деактивації
    delete_option('my_plugin_option');
}
register_deactivation_hook(__FILE__, 'my_plugin_deactivate');

4. Додавання функціоналу

4.1 Додавання меню в адмінку

function my_plugin_menu() {
    add_menu_page(
        'Мій плагін',
        'My Plugin',
        'manage_options',
        'my-plugin',
        'my_plugin_settings_page',
        'dashicons-admin-generic',
        20
    );
}
add_action('admin_menu', 'my_plugin_menu');

4.2 Створення сторінки налаштувань

function my_plugin_settings_page() {
    echo '<div class="wrap"><h1>Налаштування плагіна</h1></div>';
}

5. Робота з базою даних

Якщо потрібно зберігати дані, можна використати wp_options:

update_option('my_plugin_setting', 'value');
$get_value = get_option('my_plugin_setting');

Або створити власну таблицю:

function my_plugin_create_table() {
    global $wpdb;
    $table_name = $wpdb->prefix . 'my_plugin_table';
    $charset_collate = $wpdb->get_charset_collate();
    
    $sql = "CREATE TABLE $table_name (
        id mediumint(9) NOT NULL AUTO_INCREMENT,
        name text NOT NULL,
        PRIMARY KEY  (id)
    ) $charset_collate;";
    
    require_once ABSPATH . 'wp-admin/includes/upgrade.php';
    dbDelta($sql);
}
register_activation_hook(__FILE__, 'my_plugin_create_table');

6. Завантаження CSS і JavaScript

function my_plugin_assets() {
    wp_enqueue_style('my-plugin-style', plugins_url('assets/css/style.css', __FILE__));
    wp_enqueue_script('my-plugin-script', plugins_url('assets/js/script.js', __FILE__), array('jquery'), null, true);
}
add_action('wp_enqueue_scripts', 'my_plugin_assets');

7. Створення шорткода

function my_plugin_shortcode($atts) {
    return '<p>Це контент з мого плагіна!</p>';
}
add_shortcode('my_plugin', 'my_plugin_shortcode');

Використання в контенті:

[my_plugin]

Висновок

Створення плагінів для WordPress – це потужний інструмент для розширення функціональності сайтів та додатковий спосіб заробітку для фрілансера. Ця стаття лише поверхнево охоплює можливості, але якщо ти хочеш розвиватися у цьому напрямку, варто глибше вивчити WordPress API, роботу з AJAX, безпеку плагінів та інтеграцію з REST API.

Якщо ти вже створював свої плагіни – поділися досвідом у коментарях!

Підпишіться на нові статті

Підписавшись на оновлення блогу ви будете отримувати повідомлення про нові статті.


Хвилинку…



Дякую за підписку!



Коментарі

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *