{"id":8366,"date":"2021-04-16T15:00:53","date_gmt":"2021-04-16T13:00:53","guid":{"rendered":"https:\/\/www.welaunch.io\/es\/?p=8366"},"modified":"2024-05-15T11:41:53","modified_gmt":"2024-05-15T09:41:53","slug":"como-bloquear-el-comprobante-en-dokan-cuando-el-vendedor-esta-cerrado","status":"publish","type":"post","link":"https:\/\/www.welaunch.io\/es\/2021\/04\/como-bloquear-el-comprobante-en-dokan-cuando-el-vendedor-esta-cerrado\/","title":{"rendered":"C\u00f3mo bloquear el pago en Dokan cuando el vendedor est\u00e1 cerrado"},"content":{"rendered":"<p>Hace algunas actualizaciones Dokan introduce una funci\u00f3n para que los vendedores puedan establecer el horario de apertura y cierre de su tienda. Sin embargo, esta nueva funcionalidad no hace nada m\u00e1s que mostrar el horario comercial de los vendedores. Si quiere bloquear el proceso de a\u00f1adir al carrito o de pago, cuando un vendedor e.g. un restaurante est\u00e1 cerrado, necesitar\u00e1 un c\u00f3digo personalizado. El siguiente c\u00f3digo mostrar\u00e1 a sus clientes un mensaje de error cuando quieran pagar con productos de un vendedor que est\u00e9 cerrado. Coloque eso en sus funciones.php de su tema hijo.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; );function comprobar_tienda_abierta() {    $vendorId=false;    \/\/ Establecer ID de vendedor basado en los art\u00edculos del carrito    $cartItems=WC()->carro->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) {volver;}si(empty($vendorInfo)) {volver;}si(!isset($vendorInfo[&#8216;dokan_store_time&#8217;]) || empty($vendorInfo[&#8216;dokan_store_time&#8217;]) ) {volver;}\/\/ Obtenga todos los horarios de apertura de los vendedores$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])) {volver;}\/\/ Establecer el horario de apertura actual del vendedor diurno$storeOpeningHoursCurrentDay=$storeOpeningHours[$currentDay];\/\/ Tienda cerrada hoysi(isset($storeOpeningHoursCurrentDay[&#8216;status&#8217;]) &#038;&#038; $storeOpeningHoursCurrentDay[&#8216;status&#8217;] == &#8220;cerrar&#8221;) {    show_cart_checkout_message( sprintf( __(&#8216;Oh lo siento. %s est\u00e1 cerrado hoy! Por favor, vuelva otro d\u00eda.&#8217;, &#8216;flatsome-child&#8217;), $vendorName );    devolver falso;}\/\/ Tienda no abiertasi(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($fechaactual <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hace algunas actualizaciones Dokan introduce una funci\u00f3n para que los vendedores puedan establecer el horario de apertura y cierre de su tienda. Sin embargo, esta nueva funcionalidad no hace nada m\u00e1s que mostrar el horario comercial de los vendedores. Si quiere bloquear el proceso de a\u00f1adir al carrito o de pago, cuando un vendedor e.g&#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\/es\/wp-json\/wp\/v2\/posts\/8366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.welaunch.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.welaunch.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.welaunch.io\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.welaunch.io\/es\/wp-json\/wp\/v2\/comments?post=8366"}],"version-history":[{"count":5,"href":"https:\/\/www.welaunch.io\/es\/wp-json\/wp\/v2\/posts\/8366\/revisions"}],"predecessor-version":[{"id":8725,"href":"https:\/\/www.welaunch.io\/es\/wp-json\/wp\/v2\/posts\/8366\/revisions\/8725"}],"wp:attachment":[{"href":"https:\/\/www.welaunch.io\/es\/wp-json\/wp\/v2\/media?parent=8366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.welaunch.io\/es\/wp-json\/wp\/v2\/categories?post=8366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.welaunch.io\/es\/wp-json\/wp\/v2\/tags?post=8366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}