Programmgesteuertes Erstellen von Posts aus Dateien in einem Ordner

Ich habe einen Ordner mit dem Namen “pdf” (mit etwa 1000 pdf-Dateien) in meinem Upload-Verzeichnis, ich möchte einen Beitrag für jede Datei im Ordner erstellen.

Ich versuche nicht, den Inhalt aus dem PDF zu importieren, sondern einfach einen Beitrag für jede Datei in diesem Ordner zu erstellen.

Was ich zu erreichen hoffte:

Die Beiträge würden den Titel aus dem Dateinamen erhalten.

Den Posts würde eine einzige spezifische Kategorie / Tag für alle Posts zugewiesen werden.

Der Post würde das Veröffentlichungsdatum ab dem Erstellungsdatum der Datei erhalten.

Ich bin neu in PHP, WordPress und Programmierung im Allgemeinen, ich habe ein gutes Verständnis der Syntax, Schleifen und functionen. Ich hatte gehofft, jemand könnte mir einen Anstoß in die richtige Richtung geben, was WordPress-functionen / PHP-Loops wären, um dies zu erreichen. Alle Gedanken, Anleitungen, Informationen wären eine große Hilfe.

Vielen Dank für deine Zeit und Hilfe, Sam

Solutions Collecting From Web of "Programmgesteuertes Erstellen von Posts aus Dateien in einem Ordner"

Zuerst müssen Sie readdir() in einer while-Schleife verwenden, um alle PDF-Dateien zu erhalten. Sie sollten sich die Beispiele auf der Readdir-Seite ansehen, um zu wissen, wie Sie sie verwenden können. Innerhalb der Schleife müssen Sie die Posts mit den PDF-Dateien hinzufügen. Normalerweise würden Sie wp_insert_attachment() , um Dateien zu Ihrem Blog hinzuzufügen. Wenn Sie jedoch für jede PDF-Datei, die auf Ihrer Homepage angezeigt wird, einen einzelnen Beitrag wünschen, müssen Sie wp_insert_post() , wobei das Argument “file” den Pfad zur Datei enthält. Nach dem Hinzufügen des wp_insert_post() (aber auch in der Schleife) müssen Sie die ID verwenden, die von wp_insert_post() , Sie müssen die Kategorie mit wp_set_post_categories .

Ich könnte Ihnen den ganzen Code zur Verfügung stellen, um diese Aufgabe zu erfüllen, aber meiner Meinung nach ist es besser, es zu lernen, indem Sie den Code selbst schreiben. Wenn Sie weitere Fragen haben, zögern Sie nicht zu fragen.