Aggiungere un Datepicker jQuery a un campo personalizzato nell'editor dei post

26 apr 2011, 19:26:10
Visualizzazioni: 17.1K
Voti: 6

Vorrei aggiungere un campo personalizzato che viene impostato tramite un datepicker jQuery UI nel pannello di modifica dei post. Sono nuovo a WordPress, quindi non sono sicuro di come procedere per aggiungere qualcosa del genere. Non ho avuto molta fortuna con i plugin, quindi vorrei sapere come si potrebbe aggiungere manualmente una funzionalità simile. Ho familiarità con PHP.

0
Tutte le risposte alla domanda 3
2
12

Sono consapevole che hai già accettato una risposta, ma aggiungo questo per altri utenti più avanzati che stanno creando i propri meta box. Di seguito il codice che ho utilizzato in un recente progetto per abilitare un date picker su un campo in un custom post type. Sentiti libero di modificarlo in base alle tue esigenze:

File functions.php:

// Registra l'interfaccia datepicker per le proprietà
function admin_homes_for_sale_javascript(){
    global $post;
    if($post->post_type == 'homes-for-sale' && is_admin()) {
        wp_enqueue_script('jquery-ui-datepicker', WP_CONTENT_URL . '/themes/philosophy/js/jquery-ui-datepicker.min.js');  
    }
}
add_action('admin_print_scripts', 'admin_homes_for_sale_javascript');

// Registra gli stili UI per le proprietà
function admin_homes_for_sale_styles(){
    global $post;
    if($post->post_type == 'homes-for-sale' && is_admin()) {
        wp_enqueue_style('jquery-ui', WP_CONTENT_URL . '/themes/philosophy/css/jquery-ui-1.8.11.custom.css');  
    }
}
add_action('admin_print_styles', 'admin_homes_for_sale_styles');

Poi il codice inline con il meta box che contiene il date picker:

<script>jQuery(document).ready(function(){jQuery( "input[name='chb_homes_for_sale_specifics_dateavail']" ).datepicker({ dateFormat: 'DD, d MM, yy', numberOfMonths: 3 }); jQuery( "#ui-datepicker-div" ).hide();});</script>
26 apr 2011 19:59:59
Commenti

Fantastico amico, grazie per aver dedicato del tempo a pubblicare questo. Sembra che sia stato fatto praticamente nel modo "giusto". Grazie!

Tom Auger Tom Auger
9 giu 2011 01:49:30

https://codex.wordpress.org/Plugin_API/Action_Reference/admin_print_styles

>> admin_print_styles non dovrebbe essere utilizzato per accodare stili o script nelle pagine di amministrazione. Usa invece admin_enqueue_scripts.

vee vee
5 apr 2017 14:41:49
0

Dato che sei nuovo a WordPress, ti consiglierei di utilizzare Meta Box Script per WordPress che offre un modo semplice per aggiungere i tuoi campi personalizzati al pannello di modifica degli articoli e le sue principali caratteristiche sono:

  • Supporta vari tipi di campi, tra cui: testo, textarea, checkbox, lista di checkbox, radio box, select, wysiwyg, file, immagine, data, ora, colore. Gli sviluppatori possono facilmente aggiungere ulteriori tipi estendendo lo script.
  • Permette di creare multiple meta box.
  • Scritto in OOP, permette agli sviluppatori di estendere facilmente lo script.
  • Funziona con i custom post type. Ogni meta box può essere definito per molti custom post type.
26 apr 2011 19:35:55
1

WordPress 3.5+

Ora puoi semplicemente usare

wp_enqueue_script( 'jquery-ui-datepicker' );

poiché è incluso nel core.

8 mar 2013 04:02:28
Commenti

Devi includere comunque il CSS.

HPWD HPWD
16 giu 2018 20:18:52