commit 1c60fd981422bfa26c9a9de73d83a22a7a30d7d6 Author: johappel Date: Thu Jun 6 08:57:31 2024 +0000 proposal.md hinzugefügt diff --git a/proposal.md b/proposal.md new file mode 100644 index 0000000..3ffc607 --- /dev/null +++ b/proposal.md @@ -0,0 +1,148 @@ +### Proposal zur Entwicklung eines WordPress Plugins für die Veröffentlichung von Beiträgen auf comenius.de + +#### Projektübersicht + +**Projektname:** Comenius Syndication Plugin +**Ziel:** Entwicklung eines WordPress-Plugins, das es ermöglicht, Beiträge beim Veröffentlichen auch auf der Website comenius.de zu publizieren. +**Projektlaufzeit:** 4 Wochen +**Ansprechpartner:** [Ihr Name] + +#### Projektbeschreibung + +Das vorgeschlagene Plugin erweitert die Funktionalität des WordPress-Post-Editors, indem es eine Option zur Syndikation von Beiträgen auf comenius.de hinzufügt. Autoren können durch Aktivieren einer Checkbox in der Seitenleiste des Editors festlegen, ob ein Beitrag zusätzlich auf comenius.de veröffentlicht werden soll. + +#### Funktionsumfang + +1. **Meta Box im Post-Editor** + - Eine neue Meta Box wird in der Seitenleiste des Post-Editors hinzugefügt. + - Checkbox: "Auch auf comenius.de veröffentlichen" + +2. **Speicherung der Meta Box Daten** + - Beim Speichern eines Beitrags wird geprüft, ob die Checkbox aktiviert ist. + - Wenn die Checkbox aktiviert ist, wird der Beitrag zu comenius.de gesendet. + +3. **Syndikation des Beitrags** + - Beitragstitel, Inhalt, Kategorien, Tags und das Beitragsbild werden zu comenius.de gesendet. + - Der Beitrag wird auf comenius.de im Status "Pending" erstellt. + +4. **REST API Integration** + - Verwendung der WordPress REST API für die Übertragung des Beitrags. + - Authentifizierung mittels API-Token. + +#### Technische Anforderungen + +- **WordPress Version:** 5.0 oder höher +- **PHP Version:** 7.4 oder höher +- **Zugang zu comenius.de:** API-Token für die Authentifizierung + +#### Beispiellösung + +Nachfolgend ein Beispiel für den Code des Plugins: + +```php +ID, '_comenius_syndicate', true); + ?> + + $post->post_title, + 'content' => $post->post_content, + 'status' => 'pending', + 'categories' => wp_get_post_categories($post_id), + 'tags' => wp_get_post_tags($post_id, array('fields' => 'names')), + ); + + $featured_image_id = get_post_thumbnail_id($post_id); + if ($featured_image_id) { + $featured_image_url = wp_get_attachment_url($featured_image_id); + $post_data['featured_image'] = $featured_image_url; + } + + $response = wp_remote_post('https://comenius.de/wp-json/wp/v2/posts', array( + 'body' => json_encode($post_data), + 'headers' => array( + 'Content-Type' => 'application/json', + 'Authorization' => 'Bearer ' . COMENIUS_API_TOKEN, // Sie müssen hier Ihr API-Token hinzufügen + ), + )); + + if (is_wp_error($response)) { + error_log('Error syndicating post to comenius.de: ' . $response->get_error_message()); + } else { + $body = wp_remote_retrieve_body($response); + $data = json_decode($body); + if (isset($data->id)) { + update_post_meta($post_id, '_comenius_syndicated_post_id', $data->id); + } + } +} +``` + +#### Zeitplan + +| Meilenstein | Dauer | +|-------------------------------------|-------------| +| Anforderungsanalyse und Spezifikation| 1 Woche | +| Entwicklung des Plugins | 2 Wochen | +| Testen und Debuggen | 1 Woche | +| Dokumentation und Bereitstellung | 1 Woche | + + +#### Schlussfolgerung + +Das vorgeschlagene Comenius Syndication Plugin wird den Redaktionsprozess erheblich vereinfachen und die Reichweite der veröffentlichten Beiträge erhöhen. Durch die Automatisierung der Syndikation wird der Zeitaufwand für Redakteure reduziert und die Konsistenz der veröffentlichten Inhalte auf verschiedenen Plattformen gewährleistet. + +Für weitere Fragen oder Anpassungen des Vorschlags stehen wir Ihnen gerne zur Verfügung.