Предположим, у вас в блоге довольно много достойных постов, и вам интересно, есть ли способ публиковать их в Twitter/Facebook (или других социальных сетях) автоматически и регулярно.
Это несложно. Хотя этот пост поможет вам публиковать сообщения в твиттере, принцип аналогичен для других социальных сетей. В этом посте представлена функция PHP для публикации в твиттере.
Мы не хотим публиковать один и тот же контент/статьи снова и снова в течение короткого периода времени. Поэтому нам нужно создать таблицу SQL, в которой хранится история переопубликованных постов.
--
-- Table structure for table `twitter`
--
CREATE TABLE IF NOT EXISTS `twitter` (`id` bigint(32) unsigned NOT NULL,
`url` varchar(255) NOT NULL,
`posttime` datetime NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;
В таблице есть три поля: одно — первичный ключ (автоматическое увеличение), второе — URL-адрес, который был повторно опубликован, а третье — дата и время.
Все поля должны быть правильно проиндексированы.
ALTER TABLE `twitter`
ADD PRIMARY KEY (`id`), ADD KEY `url` (`url`,`posttime`), ADD KEY `posttime` (`posttime`);
Теперь, если у вас есть WordPress, вам нужно запросить действительные сообщения и случайным образом выбрать одно из них.
Идея здесь состоит в том, чтобы получить случайный пост и проверить, был ли он повторно опубликован за последние 90 дней (при необходимости изменить), если нет, опубликовать его и записать в базу данных. В противном случае попробуйте следующие случайные сообщения, пока не будет сделано несколько попыток. Если такие «действительные» сообщения не найдены (например, нет новых статей в течение длительного времени), он обнаружит это и прервет цикл.
Также проверьте этот пост для получения случайной строки с использованием SQL.
Следующее, что нужно сделать, это правильно протестировать его и поместить в crontab, например, один раз в день.
Публикация сообщений в Twitter настраивается, и я добавил хэш-тег «#Repost», чтобы отличать его от других обычных сообщений. Я также связываю свою учетную запись в Twitter со страницей в Facebook, чтобы каждый раз, когда твиты публикуются в Twitter, статус также синхронизируется, что намного проще для меня.