En algunas ocasiones es necesario limitar el listado de estados del checkout Woocommerce, ya que no se podrá vender a otros estados de la republica méxicana.
Para realizar está acción hay que agregar un filtro en el archivo functions.php de nuestra plantilla.
En el arreglo hay que definir los estados que se desean mostrar.
En este ejemplo sólo se mostrará la ciudad de México y Morelos
/**
* ESTADOS
* Function - Vender Somente para Estados Específicos - WooCommerce
*/
function wc_mostrar_estado( $states ) {
$states['MX'] = array(
'DF' => __( 'Ciudad de México', 'woocommerce' ),
'MO' => __( 'Morelos', 'woocommerce' ),
);
return $states;
}
add_filter( 'woocommerce_states', 'wc_mostrar_estado' );
Es importante que en el array se usen los códigos de estado correctamente.
Para conocer que valor usa WooCommerce para cada estado, les comparto el código html del select del Checkout.
<select>
<option value="DF">Ciudad de México</option>
<option value="JA">Jalisco</option>
<option value="NL">Nuevo León</option>
<option value="AG">Aguascalientes</option>
<option value="BC">Baja California</option>
<option value="BS">Baja California Sur</option>
<option value="CM">Campeche</option>
<option value="CS">Chiapas</option>
<option value="CH">Chihuahua</option>
<option value="CO">Coahuila</option>
<option value="CL">Colima</option>
<option value="DG">Durango</option>
<option value="GT">Guanajuato</option>
<option value="GR">Guerrero</option>
<option value="HG">Hidalgo</option>
<option value="MX">Estado de México</option>
<option value="MI">Michoacán</option>
<option value="MO">Morelos</option>
<option value="NA">Nayarit</option>
<option value="OA">Oaxaca</option>
<option value="PU">Puebla</option>
<option value="QT">Querétaro</option>
<option value="QR">Quintana Roo</option>
<option value="SL">San Luis Potosí</option>
<option value="SI">Sinaloa</option>
<option value="SO">Sonora</option>
<option value="TB">Tabasco</option>
<option value="TM">Tamaulipas</option>
<option value="TL">Tlaxcala</option>
<option value="VE">Veracruz</option>
<option value="YU">Yucatán</option>
<option value="ZA">Zacatecas</option>
</select>