<?php
/**
 * Plugin Name: Beitrag Sperre
 * Description: Verhindert das Erstellen neuer Beiträge. Bestehende Beiträge bleiben bearbeitbar.
 */
if (!defined('ABSPATH')) {
	exit; // Sicherheit: kein direkter Zugriff
}

/**
 * BLOCKIERT: Zugriff auf "Neuer Beitrag" im Backend
 */
add_action('load-post-new.php', function () {
	$screen = get_current_screen();
	if ($screen && $screen->post_type === 'post') {
		wp_die('Das Erstellen neuer Beiträge ist auf dieser Website deaktiviert.');
	}
});

/**
 * BLOCKIERT: Erstellen neuer Beiträge über die REST-API
 * (verhindert automatisiertes/programmatisches Anlegen, z.B. durch Angreifer-Skripte)
 */
add_filter('rest_pre_insert_post', function ($prepared_post, $request) {
	if (empty($prepared_post->ID)) {
		return new WP_Error(
			'rest_cannot_create',
			'Das Erstellen neuer Beiträge ist deaktiviert.',
			['status' => 403]
		);
	}
	return $prepared_post;
}, 10, 2);

/**
 * DEAKTIVIERT: XML-RPC-Schnittstelle komplett
 * (alter Zugangsweg, der oft für automatisierte Angriffe missbraucht wird)
 */
add_filter('xmlrpc_enabled', '__return_false');