Плагин для wordpress php

Как создать простой плагин для WordPress

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

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

Как быть в таком случае? Сделать собственный плагин или доработать существующий, а для этого необходимо иметь представление как устроены плагины в Вордпресс.

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

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

UPD. В конце я все-таки покажу пример супер простого плагина.

Так же предполагается что вы имеете представление о том как работать с БД из Вордпресса, в примерах ниже мы обращаемся к методам класса wpdb через глобальную переменную $wpdb.

Читайте также:  Javascript select add all options

Что будет делать наш плагин? Он будет хранить базу подписчиков, мы сможем просматривать подписчиков в виде таблицы, удалять их и добавлять.

Подготовка. Создаем каталог и необходимые файлы

Все плагины WordPress храняться в папке wp-content/plugins/.

Назовем наш плагин «Мой первый плагин», он будет располагаться в каталоге wp-content/plugins/myfirstplugin.

Создадим в каталоге нашего плагина 3 файла:

myfirstplugin.php – это главный файл плагина, он отвечает за активацию/деактивацию плагина, создает таблицу в базе данных, отвечает за отображение главной страницы плагина в панеле администирования.

displaylist.php – Выводит записи из базы данных

addentry.php – Добавляет запись в таблицу.

Файл myfirstplugin.php

В начале приведу конечный код файла, а после прокомментирую то, что мы тут понаписали. Это главный файл нашего плагина.

get_charset_collate(); $tablename = $wpdb->prefix . "myfirstplugin"; $sql = "CREATE TABLE $tablename ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) NOT NULL, email varchar(255) NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql); > register_activation_hook(__FILE__, 'myfirstplugin_table'); // Добавляем меню function myfirstplugin_menu() < add_menu_page("Мой первый плагин", "Мой первый плагин", "manage_options", "myfirstplugin", "displayList", "dashicons-email-alt"); add_submenu_page("myfirstplugin", "Все подписчики", "Все подписчики", "manage_options", "allentries", "displayList"); add_submenu_page("myfirstplugin", "Добавить подписчика", "Добавить подписчика", "manage_options", "addnewentry", "addEntry"); remove_submenu_page('myfirstplugin','myfirstplugin'); >add_action("admin_menu", "myfirstplugin_menu"); // Создадим функции вывода списка подписчиков и добавления нового function displayList() < include "displaylist.php"; >function addEntry()

В начале файла в комментариях /* */ необходимо указать данные плагина такие как Название, Описание, Автор, Версия и т. д.

Определяем функцию myfirstplugin_table () , где создаем новую таблицу в БД для хранения подписчиков.

Задаем имя таблицы с префиксом и подготавливаем MYSQL запрос на создание таблицы.

Инклудим файл upgrade.php передаем подготовленный запрос в функцию dbDelta () .

И вешаем функцию myfirstplugin_table() на хук register_activation_hook() .

Теперь добавим меню и подменю в админке для нашего плагина.

Мы создадим отдельный пункт в панели администратора, иконку для пункта мы возьмем из стандартного набора https://developer.wordpress.org/resource/dashicons/#email-alt

Обратите внимание, что в методе add_submenu_page() мы вызывали функции displaylist() и addEntry(), их мы создали в конце.

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

Наш плагин появился в списке установленных

Пока не будем активировать его, а перейдем к созданию следующих файлов.

Файл displaylist.php

Создадим в папке нашего плагина файл displaylist.php, в нем мы будем извлекать данные из нашей таблицы myfirstplugin, выводить их на экран и удалять по нажатию на ссылку «Удалить».

prefix."myfirstplugin"; // Удаляем подписчика if(isset($_GET['delete_id']))< $delid = $_GET['delete_id']; $wpdb->query("DELETE FROM ".$tablename." WHERE id SELECT * FROM ".$tablename." order by id desc"); if(count($entriesList) > 0)< $count = 1; foreach($entriesList as $entry)< $id = $entry->id; $name = $entry->name; $email = $entry->email; echo " ".$count." ".$name." ".$email." Удалить  "; $count++; > >else< echo "Нет подписчиков"; > ?> table>

Файл addentry.php

Дальше создаем файл addentry.php, который отвечает за добавление записей в базу данных. Он буде выводить html форму, а при нажатии кнопки «Сохранить», отправлять данные в базу.

prefix."myfirstplugin"; if($name != '' && $email != '')< // Проверяем по полю email есть ли такой подписчик $check_data = $wpdb->get_results("SELECT * FROM ".$tablename." WHERE email='".$email."' "); if(count($check_data) == 0)< $insert_sql = "INSERT INTO ".$tablename."(name,email) values('".$name."','".$email."') "; $wpdb->query($insert_sql); echo "Подписчик добавлен!"; > > > ?> <h1>Добавить подписчикаh1> <form method='post' action=''> <table> <tr> <td>Имяtd> <td><input type='text' name='name'>td> tr> <tr> <td>Emailtd> <td><input type='text' name='email'>td> tr> <tr> <tdtd> <td><input type='submit' name='submit' value='Добавить'>td> tr> table> form> 

Работа с плагином

Теперь вернемся в список наших плагинов и нажмем «Активировать».

Теперь у нас есть пункт в админке и мы сможем удобно работать с нашим плагином.

Наш плагин активирован и работает

Совсем простой плагин

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

Я сначала не хотел, но решил привести пример совсем простого плагина состоящего из одного файла и нескольких строчек кода.

Для примера добавим внизу каждой записи блога текст «Спасибо, что прочитали до конца!». Это конечно можно сделать прямо в шаблоне или в файле functions.php, но тогда мы будем завесить от темы, поэтому это удобней реализовать в виде плагина.

Назовем плагин «Говорим спасибо», для его реализации нам понадобиться небольшой файл содержащий следующий код:

Спасибо, что прочитали до конца!

'; >

Сохраните файл wp-content/plugins/thanks/thanks.php и все, плагин готов. Остается только активировать его и теперь после каждого текста в посте появляется нужная нам запись.

Категории

Свежие записи

Источник

Top 7 Powerful WordPress PHP Plugin

If you desire to insert custom code into your site or blog without any trouble, then you need a tool to support you do that. Therefore, we are going to provide you Top Powerful WordPress PHP Plugins. So, let’s discover these plugins right now!

Why is the WordPress PHP Plugin necessary for your site?

It is true that WordPress PHP plays an important role in creating shortcodes related to PHP code. In addition, this tool also allows you to make a shortcode comparing to any irregular PHP code for example promotion codes, login approval, etc. And there are other benefits that we offered below via many features of each plugin. Let’s consult and choose the best one.

Top Useful WordPress PHP Plugins

Insert PHP Code Snippet

Insert Php Code Snippet

Firstly, we would like to show you Insert PHP Code Snippet. Above all, this plugin helps you make shortcodes relating to PHP code. Besides that, you can make a shortcode comparing to any irregular PHP code, such as promotion codes, login approval, etc.

  • Create shortcodes corresponding
  • Make ad codes, login validation
  • Dropdown menu in TinyMCE editor
  • Convert PHP snippets to shortcodes
  • and more.

WordPress Native PHP Sessions

Wordpress Native Php Sessions

The second plugin you shouldn’t miss is WordPress Native PHP Sessions. In other words, this plugin offers you many professional features so that you can use them to add and develop code snippet for your site. Plus, this WordPress PHP Version may be the best option for you!

  • Implements PHP’s native session handlers
  • Custom code to safely use
  • Access to a database with name wordpress_test
  • and more.

WP PHP Console

Thirdly, we want to bring you WP PHP Console. Most importantly, this plugin is a helpful device to make it simpler to test on the fly any WordPress explicit capacity or class. Besides that, it keeps everything in one spot, without leaving the program to check for your logs on a PHP file.

Wp Php Console

  • Display PHP variables
  • Optionally filter selected tags
  • Execute PHP code straight
  • Handle PHP errors and exceptions
  • and more.

PHP Native password hash

The fourth plugin in this collection is PHP Native password hash. Thanks to this WordPress PHP plugin, passwords produced by both WordPress and other custom applications currently utilize the PHP’s default password hash capacities without compromising any of the application’s security.

Php Native Password Hash

  • Generate a password salt
  • Ability to rainbow tables
  • Provide good resistance
  • Come up with newer password hashing algorithms
  • and more.

PHP Everywhere

Another option we want to give you is PHP Everywhere. Above all, this plugin allows PHP code to be everywhere in your WordPress installation. Moreover, this plugin also supports different user restrictions and multiple PHP instances.

Php Everywhere

  • Let you use PHP code in widgets, pages, and posts
  • Insert PHP to create custom contact forms and process any kind of data or upload
  • Add PHP to generate user optimized content
  • Use PHP to customize every little detail of your WordPress installation

WP Console – WordPress PHP Console powered by PsySH

The next suggested plugin you should try is WP Console – WordPress PHP Console powered by PsySH. That is to say, this plugin provides you a runtime developer console, interactive debugger, and REPL for PHP. Furthermore, it also has a powerful code editor powered by Ace Editor.

Wp Console

  • PHP core and WordPress functions live autocompletion with placeholders
  • Custom code snippet. Supports VS Code supported code snippets
  • Get debug.log contents and clear them right from your browser
  • And more…

Custom PHP Settings

Finally, don’t forget to check out Custom PHP Settings. In other words, this plugin can help you customize PHP settings for your wordpress installation quickly. So, let’s see that which functions it has now!

Custom Php Settings – WordPress Plugin WordPress Org

  • Modify either the .htaccess file or .user.ini file in order to change the current php settings directly from within the settings page
  • When PHP is running as an Apache module the .htaccess file will be used to set customized settings
  • If PHP is running in CGI/Fast-CGI mode then a custom INI file will be used

Conclusion

To sum up, that is some basic information about Top 7 Powerful WordPress PHP Plugins we want to share with you. If you have any question, then don’t hesitate to leave your comment below. Moreover, let’s change your site appearance into a more stunning one with a lot of Free WordPress Themes here.

Источник

Оцените статью