Как создать первый плагин WordPress? Пошаговое руководство с образцом кода
Опубликовано: 2017-04-27
Как создать плагин WordPress и начать разработку плагина WordPress?
Вы новый разработчик WordPress? Вы недавно начали работать над WordPress? Вы хотите создать новый плагин WordPress?
Как создать плагин wordpress с нуля? Ну, вы в правильном месте.
В этом уроке мы рассмотрим, как создать Hello World WordPress Plugin
с нуля. Это пошаговое руководство по разработке плагинов для WordPress.
Прежде чем мы начнем, вот дизайн плагина WordPress и то, что мы собираемся сделать:
- Мы создадим простой плагин Hello World для WordPress.
- Создайте файл
crunchify-hello-world.php
, содержащий весь код плагина. - Создайте файл
readme.txt
с основной информацией- Метаданные плагина
- Описание
- Шаги установки
- Раздел часто задаваемых вопросов
- Скриншоты
- Журнал изменений
- Плагин будет иметь следующие функции
- Новое меню
Crunchify Plugin
в менюSettings
- Новая
admin page
плагина - У пользователя будет возможность
add value
в одноTextfield
-
Save button
для сохранения настроек - Плагин
append saved text
значение в конецevery post
.
- Новое меню
Давайте начнем:
Шаг 1 Создайте метаданные плагина.
Создайте файл crunchify-hello-world.php
и сначала поместите код ниже.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
< ? php /** * Crunchify Hello World Plugin is the simplest WordPress plugin for beginner. * Take this as a base plugin and modify as per your need. * * @package Crunchify Hello World Plugin * @author Crunchify * @license GPL-2.0+ * @link https://crunchify.com/tag/wordpress-beginner/ * @copyright 2017 Crunchify, LLC. All rights reserved. * * @wordpress-plugin * Plugin Name: Crunchify Hello World Plugin * Plugin URI: https://crunchify.com/tag/wordpress-beginner/ * Description: Crunchify Hello World Plugin is the simplest WordPress plugin for beginner. Take this as a base plugin and modify as per your need. * Version: 3.0 * Author: Crunchify * Author URI: https://crunchify.com/ * Text Domain: crunchify-hello-world * Contributors: Crunchify * License: GPL-2.0+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt */ |
Здесь ниже поля абсолютно обязательны и должны быть уникальными для вашего плагина:
- Название плагина
- URI плагина
- Описание
- Версия
- Автор
- URI автора
- Текстовый домен
- Авторы
Шаг 2 Добавить раздел подменю
1 2 3 4 |
function crunchify_add_menu ( ) { add_submenu_page ( "options-general.php" , "Crunchify Plugin" , "Crunchify Plugin" , "manage_options" , "crunchify-hello-world" , "crunchify_hello_world_page" ) ; } add_action ( "admin_menu" , "crunchify_add_menu" ) ; |
Мы используем хук add_action
WordPress, чтобы добавить подменю для нашего плагина.
Шаг 3. Создайте страницу настроек плагина.
В нашем случае Settings -> Crunchify Plugin
.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
function crunchify_hello_world_page ( ) { ? > < div class = "wrap" > < h1 > Hello World Plugin Template By < a href = "https://crunchify.com/optimized-sharing-premium/" target = "_blank" > Crunchify < / a > < / h1 > < form method = "post" action = "options.php" > <?php settings_fields ( "crunchify_hello_world_config" ) ; do_settings_sections ( "crunchify-hello-world" ) ; submit_button ( ) ; ?> < / form > < / div > <?php } function crunchify_hello_world_settings ( ) { add_settings_section ( "crunchify_hello_world_config" , "" , null , "crunchify-hello-world" ) ; add_settings_field ( "crunchify-hello-world-text" , "This is sample Textbox" , "crunchify_hello_world_options" , "crunchify-hello-world" , "crunchify_hello_world_config" ) ; register_setting ( "crunchify_hello_world_config" , "crunchify-hello-world-text" ) ; } add_action ( "admin_init" , "crunchify_hello_world_settings" ) ; function crunchify_hello_world_options ( ) { ?> < div class = "postbox" style = "width: 65%; padding: 30px;" > < input type = "text" name = "crunchify-hello-world-text" value = " <?php echo stripslashes_deep ( esc_attr ( get_option ( 'crunchify-hello-world-text' ) ) ) ; ?> " / > Provide any text value here for testing < br / > < / div > < ? php } |

Шаг 4 Добавьте значение сохраненного текстового поля к каждому сообщению
1 2 3 4 |
add_filter ( 'the_content' , 'crunchify_com_content' ) ; function crunchify_com_content ( $ content ) { return $ content . stripslashes_deep ( esc_attr ( get_option ( 'crunchify-hello-world-text' ) ) ) ; } |

Полный код:
Вот полный код Hello World WordPress Plugin
. Просто скопируйте его ниже и сохраните в файл crunchify-hello-world.php
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
<?php /** * Crunchify Hello World Plugin is the simplest WordPress plugin for beginner. * Take this as a base plugin and modify as per your need. * * @package Crunchify Hello World Plugin * @author Crunchify * @license GPL-2.0+ * @link https://crunchify.com/tag/wordpress-beginner/ * @copyright 2017 Crunchify, LLC. All rights reserved. * * @wordpress-plugin * Plugin Name: Crunchify Hello World Plugin * Plugin URI: https://crunchify.com/tag/wordpress-beginner/ * Description: Crunchify Hello World Plugin is the simplest WordPress plugin for beginner. Take this as a base plugin and modify as per your need. * Version: 3.0 * Author: Crunchify * Author URI: https://crunchify.com/ * Text Domain: crunchify-hello-world * Contributors: Crunchify * License: GPL-2.0+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt */ /** * Adding Submenu under Settings Tab * * @since 1.0 */ function crunchify_add_menu ( ) { add_submenu_page ( "options-general.php" , "Crunchify Plugin" , "Crunchify Plugin" , "manage_options" , "crunchify-hello-world" , "crunchify_hello_world_page" ) ; } add_action ( "admin_menu" , "crunchify_add_menu" ) ; /** * Setting Page Options * - add setting page * - save setting page * * @since 1.0 */ function crunchify_hello_world_page ( ) { ?> < div class = "wrap" > < h1 > Hello World Plugin Template By < a href = "https://crunchify.com/optimized-sharing-premium/" target = "_blank" > Crunchify < / a > < / h1 > < form method = "post" action = "options.php" > <?php settings_fields ( "crunchify_hello_world_config" ) ; do_settings_sections ( "crunchify-hello-world" ) ; submit_button ( ) ; ?> < / form > < / div > <?php } /** * Init setting section, Init setting field and register settings page * * @since 1.0 */ function crunchify_hello_world_settings ( ) { add_settings_section ( "crunchify_hello_world_config" , "" , null , "crunchify-hello-world" ) ; add_settings_field ( "crunchify-hello-world-text" , "This is sample Textbox" , "crunchify_hello_world_options" , "crunchify-hello-world" , "crunchify_hello_world_config" ) ; register_setting ( "crunchify_hello_world_config" , "crunchify-hello-world-text" ) ; } add_action ( "admin_init" , "crunchify_hello_world_settings" ) ; /** * Add simple textfield value to setting page * * @since 1.0 */ function crunchify_hello_world_options ( ) { ?> < div class = "postbox" style = "width: 65%; padding: 30px;" > < input type = "text" name = "crunchify-hello-world-text" value = " <?php echo stripslashes_deep ( esc_attr ( get_option ( 'crunchify-hello-world-text' ) ) ) ; ?> " / > Provide any text value here for testing < br / > < / div > <?php } /** * Append saved textfield value to each post * * @since 1.0 */ add_filter ( 'the_content' , 'crunchify_com_content' ) ; function crunchify_com_content ( $content ) { return $content . stripslashes_deep ( esc_attr ( get_option ( 'crunchify-hello-world-text' ) ) ) ; } |
Шаг 5. Создайте файл readme.txt.
Вот пример файла readme.txt
плагина WordPress.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
=== Crunchify Hello World Plugin === Contributors : Crunchify Donate link : https : //www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=8ZF6WATLYFELQ Tags : Hello World Plugin , Crunchify Plugins , Beginner WordPress , WordPress Plugin Requires at least : 4.5 Tested up to : 4.7.4 Stable tag : 3.0 License : GPLv2 or later License URI : http : //www.gnu.org/licenses/gpl-2.0.html Create your fist plugin . Crunchify Hello World Plugin is the simplest WordPress plugin for beginner . Take this as a base plugin and modify as per your need . == Description == Crunchify Hello World Plugin is the simplest WordPress plugin for beginner if you want to start creating fresh new plugin . Take this as a base plugin and modify as per your need . == Installation == 1. Unpack the ` download - package ` . 2. Upload the file to the ` / wp - content / plugins / ` directory . 3. Activate the plugin through the ` Plugins ` menu in WordPress . 4. Done and Ready . == Frequently Asked Questions == = How to add FAQ question = * just add your FAQ questions here == Screenshots == 1. This is a text label for your first screenshot 2. Add more screenshot labels as new line == Changelog == = 3.0 = * Initial release |
Что теперь?
- Просто создайте папку
crunchify-hello-world
в/plugins folder
и скопируйте туда оба файла.

- Перейдите в консоль администратора -> Плагины
- Активировать плагин

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