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

Сегодня преобразование продолжается с приходом WordPress REST API.

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

Но раньше, если вы никогда не устанавливали WordPress, откройте для себя Как установить WordPress блог в 7 шага et Как найти, установить и активировать WordPress тему на своем блоге 

Тогда давайте вернемся к тому, почему мы здесь

Что такое REST API

Проще говоря, поймите, что WordPress REST API позволяет вам взаимодействовать с ядром WordPress без использования его графического интерфейса. Это означает разделение ядра и графического интерфейса. С помощью этого API вы можете, например, создать новую статью без доступа к приборная панель. REST API будет включен в ядро ​​после выпуска версии 4.4 к декабрю.

Учитывая характер предмета этого руководства, необходимо хорошее знание языка PHP и WordPress.

Что нам понадобится для этого урока

Чтобы начать работу с REST API, вам понадобится плагин REST API а также последняя версия WordPress. У тебя есть это ? Если не, понять, почемуЗнание HTTP API WordPress также подойдет компаниям для удаленных вызовов.

Узнайте, нажав на эту ссылку Как установить (добавить) плагин на WordPress

В качестве проекта для этого урока мы создаст локальную установку WordPress из которого мы будем получать статьи с нашего веб-сайта через REST API. Убедитесь, что у вас установлен и активирован плагин REST API на рабочем веб-сайте.

Теперь создайте виджет в вашей локальной установке. Вот основной код:

/**
 * Plugin Name: REST API Widget Essai
 * Plugin URI: http://le-site-de-votre-widget-ici.com
 * Description: Ce widget récupère des articles à l'aide de l'API REST
 * Version: 1.0
 * Author: Votre nom
 * Author URI: http://votre-site.com
 */

class Mes_Articles_Widget extends WP_Widget {

    public function __construct() {
        $widget_details = array(
            'classname' => 'widget-essai-rest-api',
            'description' => 'Un widget qui récupère des articles à l'aide de l'API REST depuis un autre site'
        );

        parent::__construct( 'widget-essai-rest-api', 'REST API Widget Essai', $widget_details );

    }

    public function form( $instance ) {
        $title = ( !empty( $instance['title'] ) ) ? $instance['title'] : '';
        ?>

        <p>
            <label for="<?php echo $this->get_field_name( 'title' ); ?>">Title: </label>
            <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
        </p>

        <?php
    }
    public function widget( $args, $instance ) {
        echo $args['before_widget'];
        if( !empty( $instance['title'] ) ) {
            echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
        }
        // le code fonctionnel du widget ici
        echo $args['after_widget'];
    }
}
add_action( 'widgets_init', function(){
     register_widget( 'Mes_Articles_Widget' );
});

В каталоге плагинов вашего локального сайта создайте папку с именем виджет-тест-отдых-апи. В этой папке создайте файл с именем виджет-тест-отдых-api.php и вставьте код выше.

Откройте для себя, кстати Как управлять версией WordPress и восстанавливать ее с помощью VersionPress

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

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

Получить статьи

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

Сублимируйте свои иллюстративные изображения, обнаруживая Как создавать интерактивные изображения в блоге WordPress

Базовый путь WordPress REST API всегда / Wp-JSON / в.ч. / v2 /, Таким образом, полный путь будет http://votre-domaine.com/wp-json/wp/v2/.

Маршрут, используемый для получения предметов / сообщений, Что делает полный маршрут для статей http://votre-domaine.com/wp-json/wp/v2/posts.

Каждый маршрут может иметь несколько завершений, различающихся используемым методом HTTP. Таким образом, маршрут статьи может быть / Сообщений / 291. Это дорога 3 окончания:

ПОЛУЧИТЬ : получить статью
ПОЛОЖИЛ : обновить статью
УДАЛИТЬ : удалить статью.

Используя HTTP API и завершение GET, получение статей сводится к одной строке кода:

$response = wp_remote_get( 'http://mysite.com/wp-json/wp/v2/posts/' );

Сделайте ваши статьи популярными, обнаружив Как добавить кнопки на WordPress обмена

Если ответ является объектом WP_Error, завершаем выполнение нашей функции виджет ()если нет, то мы проверяем содержимое тела ответа с помощью функции wp_remote_retrieve_body ищу статьи в формате JSON. Так выглядит функция виджет ()  :

 public function widget( $args, $instance ) {
    $response = wp_remote_get( 'http://mysite.com/wp-json/wp/v2/posts/' );

    if( is_wp_error( $response ) ) {
        return;
    }

    $posts = json_decode( wp_remote_retrieve_body( $response ) );

    if( empty( $posts ) ) {
        return;
    }   
    echo $args['before_widget'];

    if( !empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
    }
    if( !empty( $posts ) ) {
        echo '<ul>';
        foreach( $posts as $post ) {
            echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
        }
        echo '</ul>';
    }
    echo $args['after_widget'];
}

В этом примере интересно то, что, заменив функцию wp_remote_get в противном случае этот пример выйдет за рамки WordPress. Это означает, что вы можете запрашивать ядро ​​WordPress с любой другой платформы, будь то Joomla, Prestashop, Drupal, Android или IOS.

Идите дальше, обнаружив эти 8 WordPress плагины для превращения вашего сайта в мобильное приложение

Таким образом, вы можете создать собственное мобильное приложение, подключенное к бэк-офису WordPress. REST API превращает WordPress в платформу для разработки приложений.

Пойдите дальше с REST API

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

Кэширование ответов

Когда мы извлекаем информацию, такую ​​как статьи в нашем примере, рекомендуется кэшировать их, то есть копировать их где-нибудь на вызывающем терминале, чтобы избежать других вызовов той же информации для сервер. Существуют различные подходы к достижению этого, включая: JP REST API КЭШ, то кэш плагинов, и переходные процессы.

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

Смотрите также эти Премиальные плагины 7 для WordPress для оптимизации кэширования вашего сайта

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

public function get_remote_posts() {
    $posts = get_transient( 'remote_posts' );
    if( empty( $posts ) ) {
        $response = wp_remote_get( 'http://votre-domaine.com/wp-json/wp/v2/posts/' );
        if( is_wp_error( $response ) ) {
            return array();
        }

        $posts = json_decode( wp_remote_retrieve_body( $response ) );

        if( empty( $posts ) ) {
            return array();
        }

        set_transient( 'remote_posts', $posts, HOUR_IN_SECONDS );
    }

    return $posts;
}

public function widget( $args, $instance ) {
    $posts = $this->get_remote_posts();

    if( empty( $posts ) ) {
        return;
    }
    
    echo $args['before_widget'];

    if( !empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
    }

    echo '<ul>';
    foreach( $posts as $post ) {
        echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
    }
    echo '</ul>';

    echo $args['after_widget'];

}

Аутентификация

При работе с внешними ресурсами желательно идентифицировать себя. Это делается в процессе аутентификации. REST API предоставляет вам два метода идентификации: обычная проверка подлинности и OAuth.

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

Чтобы использовать базовую аутентификацию, вы должны установить и активировать плагин Basic-Auth. Затем, чтобы сделать вызов с аутентификацией, объявите заголовок с помощью Базовый и позвоните:

$headers = array (
    'Authorization' => 'Basic ' . base64_encode( 'username:password' ),
);

$response = wp_remote_request( 'http://votre-domaine.com/wp-json/wp/v2/posts/1234/', array(
    'method' => 'DELETE',
    'headers' => $headers
));

Смотрите также как добавить двухфакторную аутентификацию на WordPress

Будьте осторожны с этим примером, потому что, если вы попробуете его на своем веб-сайте, вы удалите статью с идентификатором 1234, если она существует..

OAuth : Этот метод, до сих пор неясный с точки зрения документации, требует установки и активации плагина OAuth1. Реализация этого метода аутентификации включает установку и совместное использование WP-CLI, командная строка для WordPress и Клиент WP CLI.

Введение интерфейсов командной строки не является проблемой само по себе, но проблема заключается в отсутствии списка команд.

Обнаружение услуг

Часть изучения любого API - это знакомство с его опциями. Поэтому я рекомендую вам проверить эту часть на обнаружение службы из документации WordPress REST API.

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

Помните, что эта работа уже очень интересна.

Кто использует WordPress REST API?

Во всем есть пионеры, и WordPress REST API не исключение. Вот краткий список немногих компаний, которые используют API, несмотря на его молодость:

Сделанный Human используйте API для создания веб-сайтов для клиентов, которым требуется что-то более гибкое для интерфейса.

WP Live Search это бесплатный плагин, который использует API для своих функций поиска.

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

D'après Кто пользуется этой штукой? другие люди и компании внедряют WordPress REST API для создания мобильных приложений.

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

Вы также используете WordPress REST API?  Мы хотели бы получить ваши впечатления на эту тему.

Как вы оцениваете возможности, которые он предлагает? Поделитесь с нами своей реакцией в разделе комментариев.

Откройте для себя также несколько премиальных плагинов WordPress  

Вы можете использовать другие WordPress плагины чтобы придать современный вид и оптимизировать обработку вашего блога или веб-сайта.

Мы предлагаем вам несколько премиальных плагинов WordPress, которые помогут вам сделать это.

1. Перенаправление WordPress Ultimate

Плагин «WordPress Ultimate Redirect» - это единственное решение, которое вам нужно для управления всеми вашими перенаправлениями, ошибками 404, миграцией сайта и / или сменой или переносом домена.

Плагин Ultimate Redirect для Wordpress

Есть плагины, которые делают то же, что и плагин, но не все одновременно. Этот плагин предоставляет все обычные функции перенаправления 404, а также нашу любимую функцию «автоматическое перенаправление на ближайший URL-адрес».

скачать | Демонстрация | веб-хостинг

2. Leadeo

Знаете ли вы, что использование видео на целевой странице может повысить конверсию более чем на 80%. Аналогично на страницах продаж с более чем 46%. Leadeo может помочь вам получить больше лидов и продаж от людей, которые смотрят видео в вашем блоге.Leadeo

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

Поскольку ролик вызывает ожидаемый интерес, тем, кто его посмотрел, предлагается:

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

И все эти действия предлагаются справа от видео.

скачать | Демонстрация | веб-хостинг

3. CommentPress

CommentPress - это мощный компактный плагин для WordPress, который позволяет быстро и легко вставлять, редактировать и удалять комментарии. CommentPress использует Ajax, jQuery и PHP, чтобы дать посетителям возможность вставлять комментарии без перезагрузки страницы.Комментировать прессовать комментарии ajax вставить редактировать и удалить комментарии

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

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

скачать | Демонстрация | веб-хостинг

Рекомендуемые ресурсы

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

Заключение

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

Однако вы также сможете ознакомиться с нашими Ressources, если вам нужно больше элементов для реализации ваших проектов создания интернет-сайтов, обратитесь к нашему руководству по Создание блога на WordPress.

Если у вас есть предложения или замечания, оставьте их в нашем разделе Комментарии.

...