Добавить jQuery Datepicker в произвольное поле при редактировании записи

26 апр. 2011 г., 19:26:10
Просмотры: 17.1K
Голосов: 6

Я хочу добавить произвольное поле, которое заполняется с помощью jQuery Datepicker UI в панели редактирования записи. Я новичок в WordPress и не совсем уверен, как правильно реализовать подобное. Плагины мне не помогли, поэтому хотелось бы узнать, как можно добавить такой функционал вручную. Я знаком с PHP.

0
Все ответы на вопрос 3
2
12

Я знаю, что вы уже приняли ответ, но добавляю это для других, кто, возможно, более продвинут и создает свои собственные метабоксы. Ниже приведен код, который я использовал в недавнем проекте для включения выбора даты в поле пользовательского типа записи. Можете адаптировать его под свои нужды:

Файл functions.php:

// Регистрация datepicker UI для недвижимости
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');

// Регистрация UI стилей для недвижимости
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');

Затем код внутри метабокса, где находится datepicker:

<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 апр. 2011 г. 19:59:59
Комментарии

Круто, чувак, спасибо, что нашел время опубликовать это. Похоже, что все сделано действительно "правильным" способом. Спасибо!

Tom Auger Tom Auger
9 июн. 2011 г. 01:49:30

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

>> Не следует использовать admin_print_styles для подключения стилей или скриптов на страницах админки. Вместо этого используйте admin_enqueue_scripts.

vee vee
5 апр. 2017 г. 14:41:49
0

Если вы новичок в WordPress, я рекомендую использовать Meta Box Script для WordPress, который предоставляет простой способ добавления пользовательских полей на панель редактирования записей. Его основные возможности:

  • Поддержка различных типов полей, включая: текстовые поля, многострочный текст, чекбоксы, списки чекбоксов, радио-кнопки, выпадающие списки, визуальный редактор (wysiwyg), файлы, изображения, даты, время, выбор цвета. Разработчики могут легко добавлять новые типы, расширяя скрипт.
  • Возможность создания нескольких мета-боксов.
  • Написан с использованием ООП, что позволяет разработчикам легко расширять функционал.
  • Работает с пользовательскими типами записей. Каждый мета-бокс может быть определен для нескольких пользовательских типов записей.
26 апр. 2011 г. 19:35:55
1

WordPress 3.5+

Теперь вы можете просто использовать

wp_enqueue_script( 'jquery-ui-datepicker' );

так как он включен в ядро WordPress.

8 мар. 2013 г. 04:02:28
Комментарии

Вам нужно включить CSS.

HPWD HPWD
16 июн. 2018 г. 20:18:52