Wie man alte Beiträge mit PHP und Crontab (WordPress) wiederbelebt
Angenommen, Sie haben eine ganze Reihe anständiger Posts in Ihrem Blog und fragen sich, ob es eine Möglichkeit gibt, automatisch und regelmäßig auf Twitter/Facebook (oder anderen sozialen Netzwerken) zu posten.
Das ist nicht schwierig. Obwohl dieser Beitrag Sie dazu anleitet, auf Twitter zu posten, ist das Prinzip für andere soziale Netzwerke ähnlich. Dieser Beitrag stellt die PHP-Funktion zum Posten auf Twitter vor.
Wir wollen nicht innerhalb kurzer Zeit immer wieder die gleichen Inhalte/Artikel posten. Daher müssen wir eine SQL-Tabelle erstellen, die den Verlauf der neu veröffentlichten Beiträge speichert.
--
-- 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 ;
Die Tabelle hat drei Felder, eines ist der Primärschlüssel (automatische Inkrementierung), das zweite Feld ist der URL-Standort, der neu veröffentlicht wurde, und das dritte ist das Datum und die Uhrzeit.
Alle Felder sollten ordnungsgemäß indiziert sein.
ALTER TABLE `twitter`
ADD PRIMARY KEY (`id`), ADD KEY `url` (`url`,`posttime`), ADD KEY `posttime` (`posttime`);
Wenn Sie jetzt eine WordPress haben, müssen Sie die gültigen Beiträge abfragen und zufällig einen auswählen.
Die Idee hier ist, einen zufälligen Post zu bekommen und zu prüfen, ob er in den letzten 90 Tagen erneut gepostet wurde (ggf. ändern), wenn nicht, poste ihn und speichere ihn in der Datenbank. Versuchen Sie es andernfalls mit den nächsten zufälligen Beiträgen, bis Sie einige Male versucht haben. Wenn keine solchen "gültigen" Beiträge gefunden werden (z. B. seit langer Zeit keine neuen Artikel), wird dies erkannt und die Schleife verlassen.
Überprüfen Sie auch diesen Beitrag, um eine zufällige Zeile mit SQL zu erhalten.
Das nächste ist, es richtig zu testen und es in die Crontab zu setzen, zB einmal pro Tag.
Das Posten von Nachrichten auf Twitter ist anpassbar, und ich habe ein Hash-Tag „#Repost” hinzugefügt, um es von anderen normalen Posts zu unterscheiden. Ich verknüpfe auch mein Twitter-Konto mit einer Facebook-Seite, sodass jedes Mal, wenn die Twits auf Twitter gepostet werden, die Facebook-Seite angezeigt wird Der Status wird auch synchronisiert, was für mich viel einfacher ist.