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

0
723

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

 

Для начала в папке с проектом /wp-content/plugins/ создадим название папки-плагина, например, ms-plugin. Внутри этой папки создадим 2 файла, первый ms_plugin.php — обработчик кода, второй ms.css — стили css.

 

Содержимое файла ms_plugin.php:

<?php
/**
 * Plugin Name: MS plugin posts view
 * Plugin URI: http://www.mywebsite.com
 * Description: Plugin post views
 * Version: 1.0
 * Author: Sergey Mak
 * Author URI: http://www.mywebsite.com
 */

function ms_posts($content) {
    global $post;
    $out_stat = '';
    $posts = get_posts( array(
        'numberposts' => 3, // количество выводимых записей
        'category'    => 0,
        'orderby'     => 'date', // сортировка по дате
        'order'       => 'ASC', // по убыванию
        'include'     => array(),
        'exclude'     => array(),
        'meta_key'    => '',
        'meta_value'  =>'',
        'post_type'   => 'post',
        'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
    ) );
    add_image_size( 'spec_thumb', 360, 240, true );   // размер миниатюр записей
    $out1 = '<div class="container"><div class="row eee"><div class="posts-block" style="display: flex; flex-wrap: wrap; justify-content: space-between;">';

    foreach( $posts as $post ) {
        $link = get_the_permalink();
        //$img = get_the_post_thumbnail('spec_thumb');
        $img = get_the_post_thumbnail_url() ;
        $out_stat .= '<div class="col-md-4">
                            <div class="img-post"><img src="'.$img.'" alt=""></div>
                            <h3><a href="'.$link.'">'.get_the_title().'</a></h3>
                            <p>'.get_the_date().'</p>
                            <p>'.get_the_excerpt().'</p>
                      </div>';
    }
    $out2 = '</div></div></div>';
    return $out1.$out_stat.$out2;
}
add_shortcode( 'ms_posts', 'ms_posts' );
function art_add_css(){
    wp_register_style( 'ivs_style', plugins_url( '/ms.css', __FILE__)) ;
    wp_enqueue_style('ivs_style');
}

add_action('wp_enqueue_scripts', 'art_add_css');

Содержимое файла ms.css (здесь можно добавлять любые стили для плагина):

.img-post {
    border: #000 1px solid;
}

В итоге, если вставить в любое место шорткод [ms_posts], на сайте будут выводится последние новости:

 

 

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here