eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

Плагин

WordPress состоит из трех основных составляющих: Ядро, Темы, Плагины. В этом разделе поговорим о плагинах.

Что такое плагин?

Это дополнение (пакет), которое расширяет функционал WordPress. Плагин создает дополнительный функционал поверх того, что уже предлагает WordPress.

Плагин состоит из одного или нескольких файлов. Обычно это: главный файл плагина и другие .php .css .js файлы.

Возможности плагинов по сути безграничны, например:

  • Можно создать плагин, который добавит новое поле для комментариев и будет записывать данные в таблицу wp_commentmeta.

  • Или с помощью произвольных типов записей, можно написать плагин тикет-системы с уведомлениями по электронной почте, статусами тикета и т.д.

  • Или можно значительно расширить возможности WordPress, сделав его e-commerce системой (например плагин woocommerce).

Зачем нужны плагины?

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

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

Это важно потому что, при обновлении, WordPress заменяет все свои файлы и любые изменения этих файлов будут потеряны.

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

Из чего состоит плагин?

В простейшем случае плагин WordPress — это один PHP файл со специальными комментариями-заголовками. Минимум что нужно для плагина: правильный заголовок в главном файле и код, который будет что-либо делать.

Однако, чаще всего плагин состоит из нескольких файлов.

Плагин Hello Dolly

После установки WordPress, в папке плагинов находится демонстрационный плагин: Hello Dolly. Этот плагин состоит из одного файла /plugins/hello-dolly/hello.php. «Hello Dolly» не делает ничего полезного, а просто показывает слова из известной песни в уведомлениях админки WordPress.

Вот его код:

GitHub
<?php
/**
 * @package Hello_Dolly
 * @version 1.7.2
 */
/*
Plugin Name: Hello Dolly
Plugin URI: http://wordpress.org/plugins/hello-dolly/
Description: This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly</cite> in the upper right of your admin screen on every page.
Author: Matt Mullenweg
Version: 1.7.2
Author URI: http://ma.tt/
*/

function hello_dolly_get_lyric() {
	/** These are the lyrics to Hello Dolly */
	$lyrics = "Hello, Dolly
Well, hello, Dolly
It's so nice to have you back where you belong
You're lookin' swell, Dolly
I can tell, Dolly
You're still glowin', you're still crowin'
You're still goin' strong
I feel the room swayin'
While the band's playin'
One of our old favorite songs from way back when
So, take her wrap, fellas
Dolly, never go away again
Hello, Dolly
Well, hello, Dolly
It's so nice to have you back where you belong
You're lookin' swell, Dolly
I can tell, Dolly
You're still glowin', you're still crowin'
You're still goin' strong
I feel the room swayin'
While the band's playin'
One of our old favorite songs from way back when
So, golly, gee, fellas
Have a little faith in me, fellas
Dolly, never go away
Promise, you'll never go away
Dolly'll never go away again";

	// Here we split it into lines.
	$lyrics = explode( "\n", $lyrics );

	// And then randomly choose a line.
	return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] );
}

// This just echoes the chosen line, we'll position it later.
function hello_dolly() {
	$chosen = hello_dolly_get_lyric();
	$lang   = '';
	if ( 'en_' !== substr( get_user_locale(), 0, 3 ) ) {
		$lang = ' lang="en"';
	}

	printf(
		'<p id="dolly"><span class="screen-reader-text">%s </span><span dir="ltr"%s>%s</span></p>',
		__( 'Quote from Hello Dolly song, by Jerry Herman:', 'hello-dolly' ),
		$lang,
		$chosen
	);
}

// Now we set that function up to execute when the admin_notices action is called.
add_action( 'admin_notices', 'hello_dolly' );

// We need some CSS to position the paragraph.
function dolly_css() {
	echo "
	<style type='text/css'>
	#dolly {
		float: right;
		padding: 5px 10px;
		margin: 0;
		font-size: 12px;
		line-height: 1.6666;
	}
	.rtl #dolly {
		float: left;
	}
	.block-editor-page #dolly {
		display: none;
	}
	@media screen and (max-width: 782px) {
		#dolly,
		.rtl #dolly {
			float: none;
			padding-left: 0;
			padding-right: 0;
		}
	}
	</style>
	";
}

add_action( 'admin_head', 'dolly_css' );

Нагрузка плагина

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

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

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

Техническое объяснение почему плагины не нагружают систему, читайте в заметке: «Тормозят ли плагины скорость работы WordPress?»

3 комментария