{"id":20,"date":"2025-09-30T23:59:11","date_gmt":"2025-09-30T21:59:11","guid":{"rendered":"http:\/\/localhost:8888\/CamLex\/?page_id=20"},"modified":"2026-01-08T10:46:56","modified_gmt":"2026-01-08T09:46:56","slug":"rsvp","status":"publish","type":"page","link":"https:\/\/camalex2026.fr\/index.php\/rsvp\/","title":{"rendered":"RSVP"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"20\" class=\"elementor elementor-20\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dc3ed42 e-flex e-con-boxed e-con e-parent\" data-id=\"dc3ed42\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bb2424c elementor-widget elementor-widget-heading\" data-id=\"bb2424c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Confirmez votre pr\u00e9sence<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-55b95ad e-flex e-con-boxed e-con e-parent\" data-id=\"55b95ad\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-638e8fe e-con-full e-flex e-con e-child\" data-id=\"638e8fe\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e993606 elementor-widget elementor-widget-text-editor\" data-id=\"e993606\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Votre pr\u00e9sence compte \u00e9norm\u00e9ment pour nous&nbsp;!<\/p>\n<p>Merci de prendre quelques instants pour nous dire si vous serez des n\u00f4tres&nbsp;!<\/p>\n<p style=\"padding-left: 40px;\">Nous vous remercions de bien vouloir confirmer votre pr\u00e9sence <b>avant le 31 mars 2026<\/b>, soit via le formulaire ci-dessous, soit directement par message aupr\u00e8s de Camille ou Alexandre.<\/p>\n<p style=\"padding-left: 40px;\">\n<\/p><p>Pour r\u00e9pondre via le formulaire, merci de rechercher votre <b>nom et pr\u00e9nom<\/b> dans les rubriques pr\u00e9vues. Completez le formulaire pour l&rsquo;ensemble des membres de votre famille.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6050d91 e-con-full e-flex e-con e-child\" data-id=\"6050d91\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e6ea836 elementor-widget__width-inherit elementor-widget elementor-widget-image\" data-id=\"e6ea836\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"939\" height=\"1024\" src=\"https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/11\/WhatsApp-Image-2025-10-26-at-17.21.27-939x1024.jpeg\" class=\"attachment-large size-large wp-image-406\" alt=\"\" srcset=\"https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/11\/WhatsApp-Image-2025-10-26-at-17.21.27-939x1024.jpeg 939w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/11\/WhatsApp-Image-2025-10-26-at-17.21.27-275x300.jpeg 275w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/11\/WhatsApp-Image-2025-10-26-at-17.21.27-768x838.jpeg 768w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/11\/WhatsApp-Image-2025-10-26-at-17.21.27-1408x1536.jpeg 1408w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/11\/WhatsApp-Image-2025-10-26-at-17.21.27.jpeg 1467w\" sizes=\"(max-width: 939px) 100vw, 939px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5b396aa e-flex e-con-boxed e-con e-parent\" data-id=\"5b396aa\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c28dec5 elementor-widget elementor-widget-heading\" data-id=\"c28dec5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Formulaire \u00e0 remplir avant le 31 mars 2026<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-28c4b52 elementor-widget elementor-widget-text-editor\" data-id=\"28c4b52\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Vous pouvez compl\u00e9ter le formulaire pour votre Famille ou votre groupe<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-710175d e-flex e-con-boxed e-con e-parent\" data-id=\"710175d\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-baa8207 elementor-widget elementor-widget-shortcode\" data-id=\"baa8207\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <div class=\"wedding-guest-search\">\n            <h2 style=\"font-size: 32px\">Confirmez votre pr\u00e9sence<\/h2>\n            <form id=\"search-guest-form\">\n                <p>\n                    <label for=\"search_nom\" style=\"font-size: 14px\">Nom *:<\/label>\n                    <input type=\"text\" id=\"search_nom\" name=\"nom\" required>\n                <\/p>\n                <p>\n                    <label for=\"search_prenom\" style=\"font-size: 14px\">Pr\u00e9nom *:<\/label>\n                    <input type=\"text\" id=\"search_prenom\" name=\"prenom\" required>\n                <\/p>\n                <p>\n                    <button type=\"submit\" class=\"button\">Rechercher<\/button>\n                <\/p>\n            <\/form>\n            \n            <div id=\"guest-results\" style=\"display:none; margin-top: 30px;\">\n                <h3>Vos informations<\/h3>\n                <div id=\"guests-list\"><\/div>\n            <\/div>\n            \n            <div id=\"error-message\" style=\"display:none; color: red; margin-top: 20px;\"><\/div>\n            \n            <!-- Zone de notification -->\n            <div id=\"notification\" style=\"display:none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #d4edda; color: #155724; padding: 20px 40px; border-radius: 5px; box-shadow: 0 2px 10px rgba(0,0,0,0.3); z-index: 9999; font-size: 16px; border: 1px solid #c3e6cb;\"><\/div>\n        <\/div>\n        \n        <script>\n        jQuery(document).ready(function($) {\n            function showNotification(message) {\n                var $notif = $('#notification');\n                $notif.text(message);\n                $notif.fadeIn(300);\n                \n                setTimeout(function() {\n                    $notif.fadeOut(300);\n                }, 5000);\n            }\n            \n            $('#search-guest-form').on('submit', function(e) {\n                e.preventDefault();\n                \n                var nom = $('#search_nom').val().trim();\n                var prenom = $('#search_prenom').val().trim();\n                \n                if (!nom || !prenom) {\n                    $('#error-message').text('Le nom et le pr\u00e9nom sont obligatoires').show();\n                    return;\n                }\n                \n                $('#error-message').hide();\n                $('#guest-results').hide();\n                \n                $.ajax({\n                    url: weddingGuests.ajax_url,\n                    type: 'POST',\n                    data: {\n                        action: 'search_guests',\n                        nonce: weddingGuests.nonce,\n                        nom: nom,\n                        prenom: prenom\n                    },\n                    success: function(response) {\n                        if (response.success) {\n                            displayGuests(response.data.guests);\n                            $('#guest-results').show();\n                        } else {\n                            $('#error-message').text(response.data.message).show();\n                        }\n                    }\n                });\n            });\n            \n            function displayGuests(guests) {\n                var html = '';\n                \n                guests.forEach(function(guest) {\n                    html += '<div class=\"guest-card\" data-id=\"' + guest.id + '\" style=\"border: 1px solid #ddd; padding: 20px; margin: 10px 0; background: #f9f9f9; font-size: 14px;\">';\n                    html += '<h4>' + guest.nom + ' ' + guest.prenom + '<\/h4>';\n                    \n                    \/\/ Pr\u00e9sence Jour 1\n                    html += '<p style=\"margin: 10px 0;\">';\n                    if (guest.invite_jour2 === 'Oui') {\n                        html += '<strong>Pr\u00e9sence pour le jour 1 : <\/strong>';\n                    }\n                    else {\n                        html += '<strong>Pr\u00e9sence : <\/strong>';\n                    }\n                    html += '<label style=\"margin-left: 10px; margin-right: 15px;\"><input type=\"radio\" name=\"presence_jour1_' + guest.id + '\" value=\"Oui\" ' + (guest.presence_jour1 === 'Oui' ? 'checked' : '') + '> Oui<\/label>';\n                    html += '<label><input type=\"radio\" name=\"presence_jour1_' + guest.id + '\" value=\"Non\" ' + (guest.presence_jour1 === 'Non' ? 'checked' : '') + '> Non<\/label>';\n                    html += '<\/p>';\n                    \n                    \/\/ Restrictions alimentaires (visible si pr\u00e9sent jour 1)\n                    html += '<div class=\"restrictions-container\" style=\"' + (guest.presence_jour1 === 'Oui' ? '' : 'display:none;') + '\">';\n                    html += '<p><label><strong>Remarques sur les restrictions alimentaires :<\/strong><\/label><\/p>';\n                    html += '<textarea name=\"restrictions_' + guest.id + '\" rows=\"3\" style=\"width: 100%; max-width: 100%; resize: vertical; box-sizing: border-box;\">' + (guest.restrictions_alimentaires || '') + '<\/textarea>';\n                    html += '<\/div>';\n                    \n                    \/\/ Pr\u00e9sence Jour 2 (visible si invit\u00e9 jour 2)\n                    if (guest.invite_jour2 === 'Oui') {\n                        html += '<div class=\"jour2-container\" style=\"margin-top: 15px;\">';\n                        html += '<p style=\"margin: 10px 0;\">';\n                        html += '<strong>Pr\u00e9sence pour le jour 2 : <\/strong>';\n                        html += '<label style=\"margin-left: 10px; margin-right: 15px;\"><input type=\"radio\" name=\"presence_jour2_' + guest.id + '\" value=\"Oui\" ' + (guest.presence_jour2 === 'Oui' ? 'checked' : '') + '> Oui<\/label>';\n                        html += '<label><input type=\"radio\" name=\"presence_jour2_' + guest.id + '\" value=\"Non\" ' + (guest.presence_jour2 === 'Non' ? 'checked' : '') + '> Non<\/label>';\n                        html += '<\/p>';\n                        html += '<\/div>';\n                    }\n                    \n                    html += '<p style=\"margin-top: 15px;\"><button class=\"button save-presence\" data-id=\"' + guest.id + '\">Enregistrer<\/button><\/p>';\n                    html += '<\/div>';\n                });\n                \n                $('#guests-list').html(html);\n                \n                \/\/ Gestion de l'affichage des restrictions\n                $('input[name^=\"presence_jour1_\"]').on('change', function() {\n                    var card = $(this).closest('.guest-card');\n                    var restrictionsContainer = card.find('.restrictions-container');\n                    \n                    if ($(this).val() === 'Oui' && $(this).is(':checked')) {\n                        restrictionsContainer.show();\n                    } else {\n                        restrictionsContainer.hide();\n                    }\n                });\n                \n                \/\/ Sauvegarde\n                $('.save-presence').on('click', function() {\n                    var guestId = $(this).data('id');\n                    var card = $(this).closest('.guest-card');\n                    \n                    var presenceJour1 = card.find('input[name=\"presence_jour1_' + guestId + '\"]:checked').val() || '';\n                    var restrictions = card.find('textarea[name=\"restrictions_' + guestId + '\"]').val() || '';\n                    var presenceJour2 = card.find('input[name=\"presence_jour2_' + guestId + '\"]:checked').val() || '';\n                    \n                    $.ajax({\n                        url: weddingGuests.ajax_url,\n                        type: 'POST',\n                        data: {\n                            action: 'update_guest_presence',\n                            nonce: weddingGuests.nonce,\n                            id: guestId,\n                            presence_jour1: presenceJour1,\n                            restrictions_alimentaires: restrictions,\n                            presence_jour2: presenceJour2\n                        },\n                        success: function(response) {\n                            if (response.success) {\n                                showNotification('Votre pr\u00e9sence a \u00e9t\u00e9 enregistr\u00e9e avec succ\u00e8s !');\n                            } else {\n                                $('#error-message').text('Erreur lors de l\\'enregistrement').show();\n                            }\n                        }\n                    });\n                });\n            }\n        });\n        <\/script>\n        \n        <style>\n        .wedding-guest-search {\n            max-width: 900px;\n            margin: 0 auto;\n            padding: 20px;\n        }\n        .wedding-guest-search input[type=\"text\"] {\n            width: 100%;\n            padding: 10px;\n            margin: 5px 0;\n            box-sizing: border-box;\n        }\n        .wedding-guest-search .button {\n            background: #0073aa;\n            color: white;\n            padding: 10px 20px;\n            border: none;\n            cursor: pointer;\n            text-transform: capitalize;\n            font-size: 20px;\n        }\n        .guest-card label {\n            display: inline-block;\n            cursor: pointer;\n        }\n        .guest-card textarea {\n            resize: vertical !important;\n        }\n        <\/style>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-449b059 e-flex e-con-boxed e-con e-parent\" data-id=\"449b059\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-060a1fd e-con-full e-flex e-con e-child\" data-id=\"060a1fd\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-01c891b e-con-full e-flex e-con e-child\" data-id=\"01c891b\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-02567e0 elementor-widget elementor-widget-image\" data-id=\"02567e0\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/10\/cropped-logo-300x300.jpeg\" class=\"attachment-medium size-medium wp-image-210\" alt=\"\" srcset=\"https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/10\/cropped-logo-300x300.jpeg 300w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/10\/cropped-logo-150x150.jpeg 150w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/10\/cropped-logo-270x270.jpeg 270w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/10\/cropped-logo-192x192.jpeg 192w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/10\/cropped-logo-180x180.jpeg 180w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/10\/cropped-logo-32x32.jpeg 32w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/10\/cropped-logo.jpeg 512w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2014aa4 elementor-widget elementor-widget-heading\" data-id=\"2014aa4\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><p>04.07.2026<\/p><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-456fbec e-con-full e-flex e-con e-child\" data-id=\"456fbec\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e5c7a70 elementor-widget elementor-widget-image\" data-id=\"e5c7a70\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"500\" height=\"671\" src=\"https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/11\/fleurs.png\" class=\"attachment-large size-large wp-image-363\" alt=\"\" srcset=\"https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/11\/fleurs.png 500w, https:\/\/camalex2026.fr\/wp-content\/uploads\/2025\/11\/fleurs-224x300.png 224w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Confirmez votre pr\u00e9sence Votre pr\u00e9sence compte \u00e9norm\u00e9ment pour nous&nbsp;! Merci de prendre quelques instants pour nous dire si vous serez des n\u00f4tres&nbsp;! Nous vous remercions de bien vouloir confirmer votre pr\u00e9sence avant le 31 mars 2026, soit via le formulaire ci-dessous, soit directement par message aupr\u00e8s de Camille ou Alexandre. Pour r\u00e9pondre via le formulaire, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"on","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","footnotes":""},"class_list":["post-20","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/camalex2026.fr\/index.php\/wp-json\/wp\/v2\/pages\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/camalex2026.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/camalex2026.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/camalex2026.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/camalex2026.fr\/index.php\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":122,"href":"https:\/\/camalex2026.fr\/index.php\/wp-json\/wp\/v2\/pages\/20\/revisions"}],"predecessor-version":[{"id":1017,"href":"https:\/\/camalex2026.fr\/index.php\/wp-json\/wp\/v2\/pages\/20\/revisions\/1017"}],"wp:attachment":[{"href":"https:\/\/camalex2026.fr\/index.php\/wp-json\/wp\/v2\/media?parent=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}