{"id":8366,"date":"2021-04-16T15:00:53","date_gmt":"2021-04-16T13:00:53","guid":{"rendered":"https:\/\/www.welaunch.io\/fr\/?p=8366"},"modified":"2024-05-15T11:37:42","modified_gmt":"2024-05-15T09:37:42","slug":"comment-bloquer-le-check-out-dans-le-dokan-lorsque-le-fournisseur-est-ferme","status":"publish","type":"post","link":"https:\/\/www.welaunch.io\/fr\/2021\/04\/comment-bloquer-le-check-out-dans-le-dokan-lorsque-le-fournisseur-est-ferme\/","title":{"rendered":"Comment bloquer la caisse dans Dokan lorsque le vendeur est ferm\u00e9 ?"},"content":{"rendered":"<p>Il y a quelques ann\u00e9es, Dokan a introduit une fonction permettant aux vendeurs de d\u00e9finir les heures d&#8217;ouverture et de fermeture de leur magasin. Toutefois, cette nouvelle fonctionnalit\u00e9 ne fait qu&#8217;indiquer les heures d&#8217;ouverture des vendeurs. Si vous souhaitez bloquer le processus d&#8217;ajout au panier ou de paiement, lorsqu&#8217;un vendeur e.g. un restaurant est ferm\u00e9, vous aurez besoin d&#8217;un code personnalis\u00e9. Le code ci-dessous affichera un message d&#8217;erreur \u00e0 vos clients lorsqu&#8217;ils voudront passer \u00e0 la caisse avec des produits provenant d&#8217;un vendeur qui est ferm\u00e9. Place qui int vos fonctions.php de votre th\u00e8me enfant.add_action( &#8216;woocommerce_checkout_process&#8217;, &#8216;check_shop_open&#8217; ) ;add_action( &#8216;woocommerce_check_cart_items&#8217; , &#8216;check_shop_open&#8217; ) ;fonction check_shop_open() {    $vendorId=false ;    \/\/ D\u00e9finir l&#8217;ID du vendeur en fonction des articles du panier    $cartItems=WC()->cart->get_cart() ;    foreach ( $cartItems as $cartItemKey => $cartItem ) {    $vendorId  =get_post_field( &#8216;post_author&#8217;, $cartItem[&#8216;product_id&#8217;] );    $vendorInfo=dokan_get_store_info( $vendorId ) ; }si(!$vendorId) {retour ;}si(empty($vendorInfo)) {retour ;}si(!isset($vendorInfo[&#8216;dokan_store_time&#8217;]) || empty($vendorInfo[&#8216;dokan_store_time&#8217;]) ) {retour ;}\/\/ Obtenir toutes les heures d&#8217;ouverture des vendeurs$wpTimezone=wp_timezone() ;$vendorName=$vendorInfo[&#8216;store_name&#8217;];$storeOpeningHours=$vendorInfo[&#8216;dokan_store_time&#8217;];$dateFormat=&#8217;d.m.Y&#8217; ;$currentDate=DateTime::createFromFormat($dateFormat, date($dateFormat), $wpTimezone) ;$currentDay=strtolower( $currentDate->format(&#8216;l&#8217;) ) ;si(!isset($storeOpeningHours[$currentDay]) || empty($storeOpeningHours[$currentDay])) {retour ;}\/\/ D\u00e9finir les heures d&#8217;ouverture actuelles du vendeur de jour$storeOpeningHoursCurrentDay=$storeOpeningHours[$currentDay];\/\/ Le magasin est ferm\u00e9 aujourd&#8217;huisi(isset($storeOpeningHoursCurrentDay[&#8216;status&#8217;]) &#038;&#038; $storeOpeningHoursCurrentDay[&#8216;status&#8217;] == &#8220;fermer&#8221;) {    show_cart_checkout_message( sprintf( __(&#8216;Oh sorry. %s est ferm\u00e9 aujourd&#8217;hui! Veuillez revenir un autre jour.&#8217;, &#8216;flatsome-child&#8217;), $vendorName ) ) ;    retourner faux ;}\/\/ Le magasin n&#8217;est pas ouvertsi(isset($storeOpeningHoursCurrentDay[&#8216;opening_time&#8217;]) &#038;&#038; !empty($storeOpeningHoursCurrentDay[&#8216;opening_time&#8217;])) {$storeOpeningHoursCurrentDayOpeningTime=$storeOpeningHoursCurrentDay[&#8216;opening_time&#8217;];$storeOpeningHoursCurrentDayOpeningTimeObject=DateTime::createFromFormat(&#8216;H:i&#8217;, $storeOpeningHoursCurrentDayOpeningTime, $wpTimezone) ;si($currentDate <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il y a quelques ann\u00e9es, Dokan a introduit une fonction permettant aux vendeurs de d\u00e9finir les heures d&#8217;ouverture et de fermeture de leur magasin. Toutefois, cette nouvelle fonctionnalit\u00e9 ne fait qu&#8217;indiquer les heures d&#8217;ouverture des vendeurs. Si vous souhaitez bloquer le processus d&#8217;ajout au panier ou de paiement, lorsqu&#8217;un vendeur e.g. un restaurant est ferm\u00e9,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-8366","post","type-post","status-publish","format-standard","hentry","category-wordpress"],"_links":{"self":[{"href":"https:\/\/www.welaunch.io\/fr\/wp-json\/wp\/v2\/posts\/8366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.welaunch.io\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.welaunch.io\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.welaunch.io\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.welaunch.io\/fr\/wp-json\/wp\/v2\/comments?post=8366"}],"version-history":[{"count":3,"href":"https:\/\/www.welaunch.io\/fr\/wp-json\/wp\/v2\/posts\/8366\/revisions"}],"predecessor-version":[{"id":8976,"href":"https:\/\/www.welaunch.io\/fr\/wp-json\/wp\/v2\/posts\/8366\/revisions\/8976"}],"wp:attachment":[{"href":"https:\/\/www.welaunch.io\/fr\/wp-json\/wp\/v2\/media?parent=8366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.welaunch.io\/fr\/wp-json\/wp\/v2\/categories?post=8366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.welaunch.io\/fr\/wp-json\/wp\/v2\/tags?post=8366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}