Как написать плагин для WordPress-1

Опубликовано: 01.09.2018

видео Как написать плагин для WordPress-1

Как создать шаблон для WordPress. Грамотная посадка верстки на WordPress (Right Way)

Краткое содержание статьи



Введение Как создать плагин на WordPress. Пример.

 

Введение

В предыдущих статьях я, вкратце, рассказал как расширить стандартный функционал темы в файле functions.php и styles.css, записывая туда дополнительные стили и функции. Там же я указал недостатки такого метода и в следующей статье « Создание дочерней темы в WordPress » рассказал как эти недостатки устранить.


КАК СОЗДАТЬ ИНТЕРНЕТ-МАГАЗИН? За 1 день на wordpress в 2018 году

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

Да, вот наконец, логично мы подошли к теме создания плагина в CMS WordPress.


Как создать сайт на WordPress с нуля (2018) [НОВОЕ ПОШАГОВОЕ РУКОВОДСТВО]

Итак, что же это за зверь такой — плагин?

Я бы дал такое определение- это подпрограмма, которая работает в основной и позволяет использовать стандартные функции движка в котором используется.

 

Как создать плагин на WordPress. Пример

Как всегда начнем с простого и на примере.

Нам нужно в стандартной теме, не имеющей всяких «наворотов», к новости ( посту ), добавлять ссылку на видео, если таковое имеется, где — нибудь на YouTube.

Лирическое отступление для тех, кто более опытней и скажет: «Какую-то ересь толкает».

Это пример по созданию плагина, это помощь тем, кто начинает знакомство с WP и хочет знать больше. Это не инструкция по созданию крутого плагина как WPML. Просто азы и пример.

Лирическое отступление закончено.

1. В файловом менеджере открываем папку в папке wp-content/Plugins в ней создадим папку с названием «myplugin», в которой создадим файл с названием, к примеру, plugin.php. Откроем его в редакторе и напишем (как обычно для заголовков в админке в /* комментариях */) следующее:

<?php /* Plugin Name: My Cool Plugin Plugin URI: http://somewere.com Description: Some short description for My Cool Plugin; Author: Amazing programmer Author URI: http://www.somewere.com Version: 1.0 */ ?>

затем сохраним изменения в файле, зайдем в админку в раздел «Плагины», как говориться результат лицом.

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

После знака */ введем код:

function My_Cool_Plugin_field_box() { add_meta_box( 'My_Cool_plugin_section', 'Видео к новости', 'My_Cool_Plugin_fields','post' ); } add_action('add_meta_boxes', 'My_Cool_Plugin_field_box'); function My_Cool_Plugin_fields(){ $post = get_post(); $url = get_post_meta($post->ID, 'post_video_url', true); echo '<input id="video_url" name="video_url" size="35" type="text" value="'.$url.'" placeholder="https://youtube.com" />'; }

Немного пояснений:

add_action('add_meta_boxes', 'My_Cool_Plugin_field_box');

add_meta_boxes — служебная функция Вордпрес, которая добавляет дополнительные блоки (meta box) на страницы редакции постов, т.е. там где мы редактируем страницу или новость, около текстового редактора.

$post = get_post();

— получим данные о посте (нашей новости) в массив.

$url = get_post_meta ($post->ID, 'post_video_url', true);

— получим нашу опцию post_video_url ( значение ссылки ).

My_Cool_Plugin_field_box — имя нашей функция, которая сработает во время работы функции add_meta_boxes. А сработает она следующим образом:

Добавит секцию под названием My_Cool_plugin_section с заголовком Видео к новости с параметром callback — имя функции которая что-то сделает внутри нашей секции, т.е., в нашем случае — функция My_Cool_Plugin_fields выведет текстовое поле для ввода/отображения ссылки на видео, которую мы введем для нашего видео.

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

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

Запишем еще одну функцию.

function My_Cool_Plugin_Save_VideoUrl( $post_id ) { $url = sanitize_text_field( $_POST['video_url'] ); update_post_meta( $post_id, 'post_video_url', $url ); } add_action( 'save_post', 'My_Cool_Plugin_Save_VideoUrl' );

Снова поясним:

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

sanitize_text_field( $_POST['video_url'] )

— примет значение нашего поля со ссылкой из глобально массива $_POST, и от HTML символов, переносы строк, оставив при этом чистый текст, чтобы потом его можно было вставить в базу.

update_post_meta( $post_id, 'post_video_url', $url )

— если нет, создаст/обновит опцию с именем post_video_url со значением нашей ссылки и с ID нашей новости.

Итак полная версия кода для админ-части такая:

<?php /* Plugin Name: My Cool Plugin Plugin URI: http://somewere.com Description: Some short description for My Cool Plugin; Author: Amazing programmer Author URI: http://www.somewere.com Version: 1.0 */ function My_Cool_Plugin_field_box() { add_meta_box( 'My_Cool_plugin_section', 'Видео к новости', 'My_Cool_Plugin_fields','post' ); } add_action('add_meta_boxes', 'My_Cool_Plugin_field_box'); function My_Cool_Plugin_fields(){ $post = get_post(); $url = get_post_meta($post->ID, 'post_video_url', true); echo '<input id="video_url" name="video_url" size="35" type="text" value="'.$url.'" placeholder="https://youtube.com" />'; } function My_Cool_Plugin_Save_VideoUrl( $post_id ) { $url = sanitize_text_field( $_POST['video_url'] ); update_post_meta( $post_id, 'post_video_url', $url ); } add_action( 'save_post', 'My_Cool_Plugin_Save_VideoUrl' ); ?>

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

Для вывода нашей ссылки на странице нужно использовать функцию

get_post_meta($post->ID, ‘post_video_url’, true);

Посмотрим в файл single.php активной темы. Там есть строка

get_template_part( ‘content’, get_post_format() );

Что означает — за вывод контента на данной странице отвечает файл content.php.

Откроем его и вставим туда нашу функцию, после строки:

………………………………………

the_content( sprintf( __( 'Continue reading %s', 'twentyfifteen' ), the_title( '<span class="screen-reader-text">', '</span>', false ) ) ); echo 'Наша ссылка к новости: <a href="'".get_post_meta($post-">ID, 'post_video_url', true)."'>Видеосюжет</a>';

………………………………………

СПАСИБО за внимание!

Финансовый аналитик: новая профессия для новой экономики


Профессия будущего: Системный аналитик - профессия будущего, системный аналитик - Trend Club
Будущее - уже определено сегодня, остается только его реализовать. Что делать сегодняшнему студенту или ученику для того, чтобы получить интересную, захватывающую работу, которая будет приносить

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

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

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

Форекс брокер Альпари отзывы и обзор услуг и сервисов компании
Проголосовали: 902 За 88 %, Против 12 % За Против

Разница между науками о финансах и экономике. Экономическая статья на английском с переводом
Сайт Деловой английский www.delo-angl.ru Опубликовано: 14.04.2016 Хотя зачастую они изучаются и представляются как совершенно раздельные дисциплины, экономика и финансы, как науки, взаимосвязаны, разделяют

12 лучших сервисов для веб-аналитики
В статье вы узнаете о самых популярных инструментах для веб-аналитики, их функциональности и стоимости. И начнём мы с двух самых известных сервисов – Google Analytics и Яндекс.метрика. Вероятно, что каждый

Big Data – технология, рождающая новый тип бизнеса::БИТ 03.2014
Big Data – технология, рождающая новый тип бизнеса Главная / Архив номеров / 2014 / Выпуск №3 (36) / Big Data – технология, рождающая новый тип бизнеса Рубрика: Тема номера /  Системы хранения

Big Data и блокчейн — прорыв в области анализа данных
Постоянное ускорение роста объема данных является неотъемлемым элементом современных реалий. Социальные сети, мобильные устройства, данные с измерительных устройств, бизнес-информация

Добро пожаловать , Гость !

Мы настоятельно рекомендуем Вам зарегистрироваться, если вы ещё этого не сделали. регистрация откроет Вам новые функции.

Войти или Зарегистрироваться

www.silvio-berluskoni.ru © Все права защищены © 2016.
rss