Учебное пособие - хорошее начало для решения, но не совсем предоставляет все детали. Есть также некоторые изменения, которые я бы сделал. Вот что я хотел бы сделать, чтобы это заработало:
- Создайте шаблон обработчика Ajax и страницу
- Убедитесь, что ссылка, которую вы хотите использовать для открытия модального окна, включает класс
postpopup
и идентификатор записи в атрибуте rel
.
- Создайте папку
js/
в каталоге вашей темы
- Загрузите SimpleModal 1.4.1 и поместите файл в папку
js/
- Создайте пользовательский файл JavaScript (
site.js
) и поместите его в папку js/
- Введите следующий код в
site.js
:
.
jQuery(function ($) {
$('a.postpopup').click(function(){
id = this.rel;
$.get('http://yourdomain.com/ajax-handler/?id='+id, function (resp) {
var data = $('<div id="ajax-popup"></div>').append(resp);
// remove modal options if not needed
data.modal({
overlayCss:{backgroundColor:'#000'},
containerCss:{backgroundColor:'#fff', border:'1px solid #ccc'}
});
});
return false;
});
});
- Добавьте следующий код в файл
functions.php
вашей темы:
.
function my_print_scripts() {
if (!is_admin()) {
$url = get_bloginfo('template_url');
wp_enqueue_script('jquery-simplemodal', $url . '/js/jquery.simplemodal.1.4.1.min.js', array('jquery'), '1.4.1', true);
wp_enqueue_script('my_js', $url . '/js/site.js', null, '1.0', true);
}
}
add_action('wp_print_scripts', 'my_print_scripts');
Это должно заставить вас работать. Убедитесь, что в нижнем колонтитуле вашей темы есть функция wp_footer()
. Я переработал способ, которым вызывалось модальное окно, чтобы автоцентрирование контента работало.