Permet de remplacer le sélecteur de date sur la liste des commandes WooCommerce par un sélecteur année et mois séparé.
<?php
add_action( 'restrict_manage_posts', 'wpse45436_admin_posts_filter_restrict_manage_posts' );
function wpse45436_admin_posts_filter_restrict_manage_posts() {
global $typenow;
if ( $typenow == 'shop_order' ) {
$mois = isset($_GET['mois'])? $_GET['mois']:'';
$annee = isset($_GET['annee'])? $_GET['annee']:'';
?>
<select name="mois">
<option value="">Mois</option>
<option value="01" <?= '01' == $mois ? ' selected="selected"' : '' ?>>Janvier</option>
<option value="02" <?= '02' == $mois ? ' selected="selected"' : '' ?>>Février</option>
<option value="03" <?= '03' == $mois ? ' selected="selected"' : '' ?>>Mars</option>
<option value="04" <?= '04' == $mois ? ' selected="selected"' : '' ?>>Avril</option>
<option value="05" <?= '05' == $mois ? ' selected="selected"' : '' ?>>Mai</option>
<option value="06" <?= '06' == $mois ? ' selected="selected"' : '' ?>>Juin</option>
<option value="07" <?= '07' == $mois ? ' selected="selected"' : '' ?>>Juillet</option>
<option value="08" <?= '08' == $mois ? ' selected="selected"' : '' ?>>Août</option>
<option value="09" <?= '09' == $mois ? ' selected="selected"' : '' ?>>Septembre</option>
<option value="10" <?= '10' == $mois ? ' selected="selected"' : '' ?>>Octobre</option>
<option value="11" <?= '11' == $mois ? ' selected="selected"' : '' ?>>Novembre</option>
<option value="12" <?= '12' == $mois ? ' selected="selected"' : '' ?>>Décembre</option>
</select>
<select name="annee">
<option value="">Année</option>
<?php
for($i = 2016; $i <= date('Y'); $i++) { // Remplacer 2016 par l'année de la première commande du WooCommerce
echo '<option value="'.$i.'" ';
echo $i == $annee ? ' selected="selected"' : '';
echo '>'.$i.'</option>';
}
?>
</select>
<style type="text/css">
#filter-by-date { display: none; }
</style>
<script type="text/javascript">
var $ = jQuery;
$('#posts-filter').submit(function(e) {
var month = $('select[name="mois"]').val();
var year = $('select[name="annee"]').val();
var nVal = year + month;
$('#filter-by-date').after('<input type="hidden" value="'+nVal+'" name="m"/>');
$('#filter-by-date').remove();
});
</script>
<?php
}
}
?>