Come far rivivere vecchi post usando PHP e Crontab (WordPress)
Supponiamo che tu abbia un certo numero di post decenti nel tuo blog e ti stai chiedendo se c’è un modo per pubblicare su twitter/facebook (o altri social network) automaticamente e regolarmente.
Questo non è difficile. Anche se questo post ti guiderà a pubblicare su Twitter, il principio è simile per altri social network. Questo post introduce la funzione PHP per pubblicare su Twitter.
Non vogliamo pubblicare gli stessi contenuti/articoli ancora e ancora in un breve periodo di tempo. Pertanto, dobbiamo creare una tabella SQL che memorizzi la cronologia dei post ripubblicati.
--
-- 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 ;
La tabella ha tre campi, uno è la chiave primaria (incremento automatico), il secondo campo è la posizione dell’URL che è stata ripubblicata e il terzo è la data e l’ora.
Tutti i campi devono essere indicizzati correttamente.
ALTER TABLE `twitter`
ADD PRIMARY KEY (`id`), ADD KEY `url` (`url`,`posttime`), ADD KEY `posttime` (`posttime`);
Ora, se hai un wordpress, devi interrogare i post validi e sceglierne uno a caso.
L’idea qui è quella di ottenere un post casuale e controllare se è stato ripubblicato negli ultimi 90 giorni (modificare se necessario), in caso contrario, pubblicarlo e registrarlo nel database. Altrimenti, prova i prossimi post casuali fino a quando non sono stati provati un certo numero di volte. Se non sono stati trovati post "validi" di questo tipo (ad es. nessun nuovo articolo per molto tempo), lo rileverà e abbandonerà il ciclo.
Controlla anche questo post per ottenere una riga casuale usando SQL.
La prossima cosa è testarlo correttamente e metterlo nel crontab, ad esempio una volta al giorno.
La pubblicazione del messaggio su twitter è personalizzabile e ho aggiunto un hash tag "#Repost" per distinguerlo dagli altri post normali. Collego anche il mio account twitter a una pagina facebook, in modo che ogni volta che i twit vengono postati su Twitter, la pagina Facebook anche lo stato è sincronizzato, il che è molto più semplice per me.