web-dev-qa-db-fra.com

Comment créer une méta-boîte pour les dates?

Je crée une page d'événements personnalisée et je veux savoir comment créer une méta-boîte personnalisée pour enregistrer les dates d'événements. Je ne veux pas que ce soit une méta-boîte normale parce que je vais l'utiliser pour créer une barre de recherche personnalisée, donc je suppose que je dois l'enregistrer dans MySQL, non?

Je suis perdu quant à la façon dont je dois procéder. Des idées?

Merci d'avance.

1

Si vous avez besoin de Meta Boxes pour WordPress, découvrez le code incroyable dans github by jaredatch.

https://github.com/jaredatch/Custom-Metaboxes-and-Fields-for-WordPress

Cela vous permet d’ajouter toutes sortes de métaboxes à votre thème (ou plugin) WP. Sélecteur de dates, téléchargement de fichiers, wysiwyg, zones de texte, zones de texte ... c'est vraiment incroyable et vous fait gagner beaucoup de temps.

1
mgyura

Wordpress inclut déjà avec les scripts pour faire datepickers.

Si vous ne voulez pas le faire avec un plugin, créez un metabox texte normal, vous devez alors mettre en file d'attente un script personnalisé dans l'administrateur wordpress avec les dépendances jquery-ui et jquery-ui-datepicker:

function enqueue_date_picker(){
    wp_enqueue_script(
        'field-date', 
        get_template_directory_uri() . '/admin/field-date.js', 
        array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'),
        time(),
        true
    );  

    wp_enqueue_style( 'jquery-ui-datepicker' );
}

add_action('admin_enqueue_scripts', 'enqueue_date_picker');

Il ne nous reste plus qu'à appeler le sélecteur de date dans notre fichier js de field-date:

jQuery(document).ready(function(){
    jQuery('.datepicker').datepicker(); 
});

Notez le sélecteur .datepicker? remplacez-le par un identifiant ou une classe pour l'identifiant de classe/entrée de votre boîte à méta Ensuite, le sélecteur de date se chargera une fois que vous aurez cliqué sur l'entrée - trop facile!

12
rhysclay