
{"id":357,"date":"2026-01-26T18:53:12","date_gmt":"2026-01-26T18:53:12","guid":{"rendered":"https:\/\/allesbedruktplaza.nl\/?p=357"},"modified":"2026-01-27T16:26:56","modified_gmt":"2026-01-27T16:26:56","slug":"bestand","status":"publish","type":"post","link":"https:\/\/allesbedruktplaza.nl\/index.php\/2026\/01\/26\/bestand\/","title":{"rendered":"bestand"},"content":{"rendered":"\n\n\n<pre class=\"wp-block-code has-light-green-cyan-background-color has-background\"><code>\/* ============================\n   SHORTCODE: AJAX uploadformulier\n   ============================ *\/\nadd_shortcode('bestand_upload_ajax', function () {\n    ob_start(); ?>\n\n    &lt;form id=\"ajaxUploadForm\" enctype=\"multipart\/form-data\">\n        &lt;label>Naam:&lt;br>\n            &lt;input type=\"text\" name=\"naam\" required>\n        &lt;\/label>&lt;br>&lt;br>\n\n        &lt;label>E-mail:&lt;br>\n            &lt;input type=\"email\" name=\"email\" required>\n        &lt;\/label>&lt;br>&lt;br>\n\n        &lt;label>Bericht:&lt;br>\n            &lt;textarea name=\"bericht\" rows=\"4\">&lt;\/textarea>\n        &lt;\/label>&lt;br>&lt;br>\n\n        &lt;label>Bijlage:&lt;br>\n            &lt;input type=\"file\" name=\"bijlage\" required>\n        &lt;\/label>&lt;br>&lt;br>\n\n        &lt;button type=\"submit\">Versturen&lt;\/button>\n    &lt;\/form>\n\n    &lt;div id=\"ajaxUploadResult\" style=\"margin-top:15px;\">&lt;\/div>\n\n    &lt;script>\n    document.getElementById('ajaxUploadForm').addEventListener('submit', function(e) {\n        e.preventDefault();\n\n        let formData = new FormData(this);\n        formData.append('action', 'bestand_upload_ajax_action');\n\n        fetch('&lt;?php echo admin_url(\"admin-ajax.php\"); ?>', {\n            method: 'POST',\n            body: formData\n        })\n        .then(res => res.text())\n        .then(data => {\n            document.getElementById('ajaxUploadResult').innerHTML = data;\n        })\n        .catch(() => {\n            document.getElementById('ajaxUploadResult').innerHTML = \"Er ging iets mis.\";\n        });\n    });\n    &lt;\/script>\n\n    &lt;?php\n    return ob_get_clean();\n});\n\n\n\/* ============================\n   AJAX HANDLER\n   ============================ *\/\nadd_action('wp_ajax_bestand_upload_ajax_action', 'bestand_upload_ajax_action');\nadd_action('wp_ajax_nopriv_bestand_upload_ajax_action', 'bestand_upload_ajax_action');\n\nfunction bestand_upload_ajax_action() {\n\n    $naam    = sanitize_text_field($_POST&#91;'naam'] ?? '');\n    $email   = sanitize_email($_POST&#91;'email'] ?? '');\n    $bericht = sanitize_textarea_field($_POST&#91;'bericht'] ?? '');\n\n    \/\/ Bijlage uploaden via WordPress\n    $attachment_path = '';\n    if (!empty($_FILES&#91;'bijlage']&#91;'tmp_name'])) {\n        $upload = wp_handle_upload($_FILES&#91;'bijlage'], &#91;'test_form' => false]);\n        if (!empty($upload&#91;'file'])) {\n            $attachment_path = $upload&#91;'file'];\n        }\n    }\n\n    \/\/ E-mail opbouwen\n    $to      = \"bestandenopsturen@allesbedruktplaza.nl\";\n    $subject = \"Nieuw bestand ingestuurd via AJAX formulier\";\n    $body    = \"\n        &lt;strong>Naam:&lt;\/strong> $naam&lt;br>\n        &lt;strong>E-mail:&lt;\/strong> $email&lt;br>&lt;br>\n        &lt;strong>Bericht:&lt;\/strong>&lt;br>\" . nl2br($bericht);\n\n    $headers = &#91;\n        'Content-Type: text\/html; charset=UTF-8',\n        'From: Uploadformulier &lt;bestandenopsturen@allesbedruktplaza.nl>'\n    ];\n\n    \/\/ Versturen met of zonder bijlage\n    if ($attachment_path) {\n        wp_mail($to, $subject, $body, $headers, &#91;$attachment_path]);\n    } else {\n        wp_mail($to, $subject, $body, $headers);\n    }\n\n    echo \"&lt;strong>Bedankt! Je bestand en gegevens zijn verstuurd.&lt;\/strong>\";\n    wp_die();\n}\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"CBBTypography":[],"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[],"tags":[],"class_list":["post-357","post","type-post","status-publish","format-standard","hentry"],"gutentor_comment":1,"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/allesbedruktplaza.nl\/index.php\/wp-json\/wp\/v2\/posts\/357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allesbedruktplaza.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/allesbedruktplaza.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/allesbedruktplaza.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/allesbedruktplaza.nl\/index.php\/wp-json\/wp\/v2\/comments?post=357"}],"version-history":[{"count":2,"href":"https:\/\/allesbedruktplaza.nl\/index.php\/wp-json\/wp\/v2\/posts\/357\/revisions"}],"predecessor-version":[{"id":376,"href":"https:\/\/allesbedruktplaza.nl\/index.php\/wp-json\/wp\/v2\/posts\/357\/revisions\/376"}],"wp:attachment":[{"href":"https:\/\/allesbedruktplaza.nl\/index.php\/wp-json\/wp\/v2\/media?parent=357"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/allesbedruktplaza.nl\/index.php\/wp-json\/wp\/v2\/categories?post=357"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/allesbedruktplaza.nl\/index.php\/wp-json\/wp\/v2\/tags?post=357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}