wp-md-rest-import/import.php
2025-03-22 06:42:17 +01:00

42 lines
1.3 KiB
PHP

<?php
$url = 'https://git.rpi-virtuell.de/Comenius-Institut/FOERBICO/raw/branch/main/Website/content/posts/2025-02-25-KLT-M%C3%BCnster/index.md'; // <- Ersetzen mit echter URL
$markdown = file_get_contents($url);
preg_match('/^---\s*(.*?)\s*---\s*(.*)$/s', $markdown, $matches);
$yaml_raw = $matches[1];
$content_md = $matches[2];
require 'lib/spyc.php';
require 'lib/Parsedown.php';
$yaml = Spyc::YAMLLoadString($yaml_raw);
$html = (new Parsedown())->text($content_md);
$data = [
'title' => $yaml['name'] ?? 'Kein Titel',
'content' => $html,
'status' => 'publish',
'excerpt' => $yaml['description'] ?? '',
'slug' => $yaml['url'] ?? '',
];
$response = wp_rest_post($data);
echo "\n✅ Beitrag ID: " . ($response['id'] ?? 'Fehler');
function wp_rest_post($data) {
$url = 'http://markdownimport.local/wp-json/wp/v2/posts';
$username = 'wpadmin';
$password = 'CZOm Nsa4 Gptt HS8c UVbl qSuK';
$auth = base64_encode("$username:$password");
$options = [
'http' => [
'method' => 'POST',
'header' => "Authorization: Basic $auth\r\nContent-Type: application/json\r\n",
'content' => json_encode($data),
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return json_decode($result, true);
}