Adăugare jQuery Datepicker la un câmp personalizat în editarea postării

26 apr. 2011, 19:26:10
Vizualizări: 17.1K
Voturi: 6

Doresc să adaug un câmp personalizat care să fie setat folosind un jQuery Datepicker UI în panoul de editare a postării. Sunt nou în WordPress, așa că nu sunt sigur cum să procedez pentru a adăuga ceva de genul acesta. Nu am avut prea mult succes cu plugin-urile, așa că aș dori să știu cum aș putea implementa manual o astfel de funcționalitate. Sunt familiarizat cu PHP.

0
Toate răspunsurile la întrebare 3
2
12

Știu că deja ai acceptat un răspuns, dar adaug acest lucru pentru alții care poate sunt mai avansați și își creează propriile meta box-uri. Mai jos este codul pe care l-am folosit într-un proiect recent pentru a activa un selector de dată pe un câmp într-un tip de postare personalizat. Simte-te liber să-l modifici în funcție de nevoile tale:

Fișierul functions:

// Înregistrează interfața de datepicker pentru proprietăți
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');

// Înregistrează stilurile UI pentru proprietăți
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');

Apoi codul inline cu meta box-ul care conține selectorul de dată:

<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
Comentarii

Super, omule, mulțumesc că ți-ai luat timpul să postezi asta. Se pare că a fost făcut în mare parte pe calea cea "bună". Mulțumesc!

Tom Auger Tom Auger
9 iun. 2011 01:49:30

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

>> admin_print_styles nu ar trebui folosit pentru a încărca stiluri sau scripturi pe paginile de administrare. Folosește admin_enqueue_scripts în schimb.

vee vee
5 apr. 2017 14:41:49
0

Deoarece ești nou în WordPress, aș sugera să folosești Meta Box Script pentru WordPress care oferă o modalitate ușoară de a adăuga câmpuri personalizate în panoul de editare a articolelor, iar principalele sale caracteristici sunt:

  • Suportă diverse tipuri de câmpuri, inclusiv: text, textarea, checkbox, listă de checkbox-uri, radio box, select, wysiwyg, fișier, imagine, dată, oră, culoare. Dezvoltatorii pot adăuga cu ușurință alte tipuri prin extinderea scriptului.
  • Permite crearea de multiple meta box-uri.
  • Scris în OOP (Programare Orientată pe Obiecte), permițând dezvoltatorilor să extindă ușor scriptul.
  • Funcționează cu tipuri personalizate de postări. Fiecare meta box poate fi definit pentru mai multe tipuri personalizate de postări.
26 apr. 2011 19:35:55
1

WordPress 3.5+

Acum poți folosi simplu:

wp_enqueue_script( 'jquery-ui-datepicker' );

deoarece este inclus în nucleul WordPress.

8 mar. 2013 04:02:28
Comentarii

Trebuie să incluzi și CSS-ul.

HPWD HPWD
16 iun. 2018 20:18:52