У меня есть веб-сайт, который загружает свой основной контент через Ajax, но у меня возникла проблема с загрузкой любых плагинов/шорткодов, которые находятся в указанном контенте. Плагины работают нормально, если я напрямую загружаю каждую страницу через адресную строку.
Код Ajax
jQuery(document).ready(function() {
var History = window.History;
if (!History.enabled) {
return false;
}
// Bind to StateChange Event
History.Adapter.bind(window,'statechange',function(){
var State = History.getState();
//History.log(State.data, State.title, State.url);
var goto_url = State.url;
jQuery('.content').load(goto_url+ ' #main').hide().delay(750).fadeIn(1000);
});
jQuery('.main-menu a').click(function(evt){
var href = jQuery(this).attr('href');
History.pushState({}, '', href);
var elementClassName = jQuery(this).attr('class');
jQuery('.main-menu a').removeClass('active');
jQuery('.main-menu a.'+elementClassName).addClass('active');
jQuery('.content').load(href+ ' #main',
function() {
jQuery(this).fadeIn(750);
});
return false;
});
});
Я хочу запустить шорткоды для конкретных страниц.
<?php echo do_shortcode('[shortcode goes here]'); ?>
после загрузки соответствующей страницы через ajax. Я считаю, что правильным решением является запуск скриптов в обратном вызове функций загрузки, но я не уверен, как это сделать с помощью шорткодов. Если нужно, я могу получить функцию, вызываемую каждым шорткодом.
Пример функции шорткода
jQuery(document).ready(function($){ window.dzsp_init("#port0",{
settings_slideshowTime:3
,settings_mode: "masonry"
,title: ""
,design_item_width: ""
,design_item_height: ""
,design_categories_style: "normal"
,design_categories_pos: "top"
,design_pageContent_pos: "top"
,settings_disableCats: "off"
,settings_lightboxlibrary: "zoombox"
,settings_preloadall: "off"
,audioplayer_swflocation: "http://sbmdesigns.net/wp-content/plugins/dzs-portfolio/ap.swf"
,videoplayer_swflocation: "http://sbmdesigns.net/wp-content/plugins/dzs-portfolio/preview.swf"
,disable_itemmeta: "off"
,settings_ajax_loadmoremethod: "button"
,settings_mode_masonry_layout: "masonry"
,design_total_height_full: "off"
,settings_mode_masonry_layout_straightacross_setitemsoncenter: "off"
,design_item_height_same_as_width : "off"})
});