/ Сайтостроение / Плагины / Создание плагина Wordpress

Создание плагина WordPress

HIT

29.07.2016

1014

Разбираем моменты создания плагина WordPress.

Создание плагина, основы

В директории wp-content/plugins/ создаем папку с названием плагина.
В ней создаем файл .php с названием плагина (не обязательно). В начале файла помещаем информацию:

<?php
/*
Plugin Name: Site slider
Description: Плагин создает слайдер.
Version: 1.0
Author: Opttour
Author URI: https://opttour.ru/
Plugin URI:
*/

Обязательно в начале php файлов плагина вставляем строку
if ( ! defined( ‘ABSPATH’ ) ) { exit; }
Это защитит файл от прямого доступа через URL

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

function addsiteslider() {  
  wp_enqueue_script( 'siteslider-scripts', plugins_url('/site-slider.js', __FILE__), array('jquery'), null, true );
  wp_enqueue_style( 'siteslider-style', plugins_url('/site-slider.css', __FILE__) );
}  

add_action( 'wp_footer', 'addsiteslider' );

Далее помещаем функции относящиеся к данному плагину.

Если при подключении скрипта, указать порядковый номер, то можно контролировать приоритет вывода

add_action( 'wp_footer', 'addsitegreeting', 5 );

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

require __DIR__ . '/functions.php';

Ссылка на изображения плагина

<img src="<?php echo plugins_url( 'images/x-image-wt.gif', __FILE__ ); ?>" alt="close">

Другие функции вывода относительных путей WordPress:

home_urlHome URLhttp://www.example.com
site_urlSite directory URLhttp://www.example.com or http://www.example.com/wordpress
admin_urlAdmin directory URLhttp://www.example.com/wp-admin
includes_urlIncludes directory URLhttp://www.example.com/wp-includes
content_urlContent directory URLhttp://www.example.com/wp-content
plugins_urlPlugins directory URLhttp://www.example.com/wp-content/plugins
theme_urlThemes directory URLhttp://www.example.com/wp-content/themes
wp_upload_dir()Upload directory URL (returns an array)http://www.example.com/wp-content/uploads

Включить шаблон из плагина

Если мы создаем плагин таксономии (например) и хотим чтобы у этой таксономии был специфический шаблон. Нужно поместить шаблон (taxonomy-label.php) в плагин и инициализировать его

function labeltaxonomies_template($template){
		
            if ( is_tax('label') ) {
                    $template = plugin_dir_path( __FILE__ ) . '/taxonomy-label.php';
            }

        return $template;
    }
add_filter('template_include','labeltaxonomies_template');

Условия внутри плагина

Условия типа if( !is_front_page() || !is_home() ) внутри плагина работать не будут, т.к. в момент подключения плагина еще не сформирован объект $wp_query и данные проверки будут выдавать wp_debug.

Чтобы проверки начали работать нужно добавить следующий код

function addsitehovergallery()  { 
	$d = is_home();
	if( !is_home() ) {
  wp_enqueue_script( 'hovergallery', plugins_url('/site-hovergallery.js', __FILE__), array('jquery'), null, true );
  wp_enqueue_style( 'hovergallery', plugins_url('/site-hovergallery.css', __FILE__) );
	}		
}  

add_action( 'wp_footer', 'addsitehovergallery' );

Поделится информацией с друзьями

  • Комментарии
  • Вложения

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

Пока нет комментариев. Будь первым!

Создание плагина WordPress
Attachment — практическое применение
Рекомендации для васAttachment — практическое применениеOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.