ChatGPT El PHP estable actual completo. La inspección HTML de field_order_custom_fields_billing_wooccm12_0. Si debe bloquearse con la misma regla: Despacho → activo Retiro → bloqueado Con eso lo agregamos sin tocar Cliente nuevo ni Editar cliente. Pensado durante un par de segundos Perfecto. Envíame estos 2 bloques: PHP estable actual completo HTML completo del campo field_order_custom_fields_billing_wooccm12_0 Regla a aplicar: Despacho → activo Retiro → bloqueado Lo agregamos solo para field_order_custom_fields_billing_wooccm12_0, sin tocar Cliente nuevo ni Editar cliente. Pasted text(18).txt Documento Pensado durante 5s Recibí el PHP estable actual y el HTML enviado, pero el HTML corresponde a: field_customer_custom_fields_billing_wooccm12_1 Ese es de Cliente nuevo / Editar cliente, no del pedido. Para agregarlo sin tocar cliente nuevo ni editar cliente, falta el HTML del campo exacto: field_order_custom_fields_billing_wooccm12_0 Envíame el bloque donde aparezca ese ID y lo integramos solo en la sección de pedido. billing_wooccm12 Pensado durante un par de segundos Perfecto. Entonces el campo a bloquear será el meta: billing_wooccm12 Y en pedido Phone Orders debería apuntar a: #field_order_custom_fields_billing_wooccm12_0 Regla: billing_wooccm13 = Despacho → billing_wooccm12 activo billing_wooccm13 = Retiro → billing_wooccm12 bloqueado y vacío El PHP estable actual trabaja solo sobre field_customer_custom_fields..., o sea cliente nuevo/editar cliente. Para agregar pedido sin tocar eso, sumaremos una función nueva separada, algo como: function applyOrderWooccm12State(){ const metodoBox = $('#field_order_custom_fields_billing_wooccm13_0').last().closest('.multiselect'); if (!metodoBox.length) return; const metodo = clean( metodoBox.find('.multiselect__single').first().text() || metodoBox.find('.multiselect__option--selected span').first().text() ); const enable = metodo.toLowerCase().indexOf('despacho') !== -1; const field = $('#field_order_custom_fields_billing_wooccm12_0').last(); if (!field.length) return; const box = field.closest('.multiselect'); const wrap = field.closest('.customer-modal-footer__custom_field, .form-group, .col, div').first(); if (enable) { field.prop('disabled', false).removeAttr('disabled'); box.css({ opacity: '', pointerEvents: '' }); wrap.css({ opacity: '', pointerEvents: '' }); } else { field.val('').trigger('input').trigger('change'); field.prop('disabled', true).attr('disabled', 'disabled'); box.css({ opacity: '0.55', pointerEvents: 'none' }); wrap.css({ opacity: '0.55' }); } console.log('[WPO Pedido Oficina/Domicilio]', { metodo: metodo, enable: enable, field: field.attr('id') }); } Ahora sí: si me confirmas, te envío el PHP completo reemplazando el actual, manteniendo intacto Cliente nuevo y Editar cliente. PHP completo reemplazando el actual Pensado durante un par de segundos Aquí tienes el PHP completo reemplazando el actual: