### 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:** 1-2 Wochen #### 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 | |-------------------------------------|-------------| | Entwicklung des Plugins | 2 Wochen | | Testen und Debuggen | 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.