Añadir un Jquery Datepicker a un campo personalizado en la edición de entradas

26 abr 2011, 19:26:10
Vistas: 17.1K
Votos: 6

Me gustaría añadir un campo personalizado que se establezca mediante un datepicker de jQuery UI en el panel de edición de entradas. Soy nuevo en WordPress, así que no estoy seguro de cómo añadir algo así. No he tenido mucho éxito con plugins, por lo que me gustaría saber cómo se podría añadir algo así manualmente. Estoy familiarizado con PHP.

0
Todas las respuestas a la pregunta 3
2
12

Sé que ya has aceptado una respuesta, pero agrego esto para otros que quizás sean un poco más avanzados y estén creando sus propias meta cajas. A continuación está el código que usé en un proyecto reciente para habilitar un selector de fecha en un campo de un tipo de publicación personalizado. Siéntete libre de modificarlo según tus necesidades:

Archivo functions.php:

// Registrar el UI de datepicker para propiedades
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');

// Registrar estilos UI para propiedades
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');

Luego el código en línea con la meta caja que tiene el selector de fecha:

<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 abr 2011 19:59:59
Comentarios

¡Increíble, amigo! Gracias por tomarte el tiempo de publicar esto. Parece que está hecho de la manera "correcta". ¡Gracias!

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

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

>> admin_print_styles no debería usarse para encolar estilos o scripts en las páginas de administración. Usa admin_enqueue_scripts en su lugar.

vee vee
5 abr 2017 14:41:49
0

Como eres nuevo en WordPress, te sugeriría usar Meta Box Script para WordPress que proporciona una forma fácil de agregar tus campos personalizados al panel de edición de entradas y sus principales características son:

  • Soporta varios tipos de campos, incluyendo: texto, área de texto, casilla de verificación, lista de casillas, botón de opción, selección, editor wysiwyg, archivo, imagen, fecha, hora, color. Los desarrolladores pueden agregar fácilmente más tipos extendiendo el script.
  • Permite crear múltiples meta boxes.
  • Escrito en POO (Programación Orientada a Objetos), permite a los desarrolladores extender fácilmente el script.
  • Funciona con tipos de contenido personalizados. Cada meta box puede definirse para muchos tipos de contenido personalizados.
26 abr 2011 19:35:55
1

WordPress 3.5+

Ahora puedes simplemente usar:

wp_enqueue_script( 'jquery-ui-datepicker' );

ya que está incluido en el núcleo.

8 mar 2013 04:02:28
Comentarios

Necesitas incluir el CSS también.

HPWD HPWD
16 jun 2018 20:18:52