Sheensay → WordPress → Плагины → Репостинг на страницу Facebook из WordPress

Репостинг на страницу Facebook из WordPress

06.05.2018


  • Как создать приложение Facebook
  • Плагин WordPress публикации отложенных записей на страницу в Facebook

Как создать приложение Facebook

  1. Авторизуемся в панели разработчика Facebook https://developers.facebook.com/apps. Если у вас там ещё нет аккаунта, его надо создать:
    Как зарегистрироваться в facebook apps

    Если аккаунт разработчика уже есть, жмём Добавьте новое приложение
    Добавьте новое приложение

  2. Вводим название приложения и свой email
  3. Приложение нужно перевести из статуса В разработке в Опубликовано. Переключатель находится на странице приложения в правом верхнем углу:

  4. В самом приложении переходим в Настройки — Основное. Здесь нам нужно получить Идентификатор приложения и Секрет приложения
  5. Далее, идём в Graph API Explorer.

    Тут в правом верхнем углу из выпадающего списка выбираем нужное приложение:

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

  6. В появившемся окне отмечаем manage_pages и publish_pages и жмём Получить маркер доступа:

  7. Далее, одобряем все запросы на доступы к профилю и в конце возвращаемся к Graph API Explorer с маркером доступа:
  8. Копируем этот маркер доступа и переходим на страницу отладки маркеров. Вставляем копированный маркер в первое поле и жмём Отладка:
  9. Тут же чуть ниже увидим данные о маркере доступа. Видно, что этот маркер доступа временный и истекает примерно через час. Чтобы продлить его срок службы, отматываем страницу вниз и жмём Продлить маркер доступа. Чуть ниже появится поле с новым маркером доступа:
  10. Срок службы нового маркера доступа дольше, но он тоже ограничен, поэтому будем делать вечный. Копируем его и возвращаемся в Graph API Explorer. Вставляем скопированный маркер доступа в поле Маркер доступа.
    А чуть ниже вводим ID страницы с запросом access_token. Например, если ID страницы 123456789, то запрос будет выглядеть как: 123456789?fields=access_token:

    В результате, если всё правильно сделали, в поле ниже мы увидим вечный токен в поле access_token:

Плагин WordPress публикации отложенных записей на страницу в Facebook

Плагин отслеживает момент, когда страница меняет статус из Запланировано в Опубликовано и тут же публикует пост на страницу Facebook.

Код можно вставить как MU Plugin или прописать в functions.php

<?php

/**
 * Репостер в Facebook
 * 
 * https://sheensay.ru/?p=4843
 * **************************** */
defined( 'ABSPATH' ) or exit;

final class Sheensay_Social_Reposter {

	public function __construct() {

		$this -> page_id = 'ID страницы'; // Если страница facebook.com/sheensay.ru, то можно использовать sheensay.ru или ID страницы

		$this -> app_id = 'Идентификатор приложения - набор чисел';
		$this -> app_secret = 'Секрет приложения';
		$this -> default_access_token = 'Сюда прописываете вечный токен';

		// Если пост меняет статус с future на publish, репостим его
		add_action( 'publish_future_post', [ $this, 'publish_post' ] );

		// Если пост публикуется (получает статус publish), репостим его
		//add_action( 'publish_post', [ $this, 'publish_post' ] );
	}

	function publish_post( $post_id ) {

		// Публикуем только по крону
		if ( defined( 'DOING_CRON' ) && DOING_CRON ) {

			// Получаем заголовок
			$data['message'] = get_the_title( $post_id );

			// Получаем ссылку на пост
			$data['link'] = get_permalink( $post_id );

			// Отправляем эти даные в соцсети
			$this -> fb( $data );
		}
	}

	/**
	 * Репост в fb
	 */
	function fb( $data ) {


		$attachment = array(
			'access_token'	 => $this -> default_access_token,
			'message'		 => $data['message'],
			'link'			 => $data['link'],
		);

		$url = 'https://graph.facebook.com/' . $this -> page_id . '/feed';
		$args = array(
			'timeout'		 => 45,
			'redirection'	 => 5,
			'httpversion'	 => '1.0',
			'blocking'		 => true,
			'headers'		 => array(),
			'body'			 => $attachment,
			'cookies'		 => array()
		);
		$response = wp_remote_post( $url, $args );


		if ( is_wp_error( $response ) ) {
			$error_message = $response -> get_error_message();
			error_log( "Что-то пошло не так: $error_message" );
		} else {
			// Всё путём
			error_log( "Всё путём:" . print_r( $response, 1 ) );
		}
	}

}

new Sheensay_Social_Reposter();



Так себеНеплохоНормальноХорошоОтлично (1 оценок, в среднем: 5,00 из 5)
Загрузка...


  • Вебмастер Яндекс — Оригинальные Тексты и WordPress
  • Как удалить поле URL (сайт) из формы комментариев в WordPress
  • Моментальные статьи Facebook
  • Как удалить поле URL (сайт) из формы комментариев в Genesis Framework
  • Yoast SEO — настройка плагина WordPress

Плагины

Свежие записи

  • Squid — свой собственный HTTP Proxy сервер
  • Как исправить ошибку «Обновить WordPress — В настоящий момент выполняется другое обновление»
  • Query Monitor
  • LEMP
  • Telegram

Свежие записи

  • Squid — свой собственный HTTP Proxy сервер
  • Как исправить ошибку «Обновить WordPress — В настоящий момент выполняется другое обновление»
  • Query Monitor
  • LEMP
  • Telegram

Свежие комментарии

  • Sheens к записи Что такое SSL и TLS, как установить и настроить
  • Геомант к записи Что такое SSL и TLS, как установить и настроить
  • Sheens к записи Last-Modified в WordPress
  • Артур к записи Last-Modified в WordPress
  • Sheens к записи EWWW Image Optimizer — плагин для сжатия png, jpeg, gif анимации без потери качества
  • Telegram
  • Вконтакте
  • Facebook
  • Twitter
  • Google+
  • Одноклассники
  • Мой Мир Mail.ru
  • RSS

Copyright © 2025 · Sheensay on Genesis Framework · WordPress · Log in