Intereting Posts
Добавить разбивку на страницы на пользовательскую страницу Как получить атрибут DEFER или ASYNC, когда я добавляю таблицу стилей с помощью wp_enqueue_style из плагина? Правила переадресации и одно сообщение Архивный файл regEx wp Как я могу изменить отображение одной категории? Возможно ли связать интерфейс администратора с локальной петлей? Получить термин SLUG по сроку ID Запросить категории, связанные с категорией, с разбивкой по страницам и разрешить зрителю изменять порядок сортировки Скрыть ограниченные страницы из результатов поиска Запросить сообщение с миниатюрой Как я могу жестко закодировать свою боковую панель? MetaBox с редактором вместо textarea – html не сохранен Отфильтровать сообщения о запросах по количеству метаданных для мета-ключа Пользовательские параметры в плагине, register_settings не работают как нет options.php? Как получить отрывок страницы перед более тегом?

Плагин не работает локально, но работает на сервере

Это град Мэри, но я ценю любые идеи, которые могли бы указать мне в правильном направлении.

У меня был «плагин», созданный для моего сайта wordpress. У меня есть сайт, который находится на сервере, и тот, который установлен локально на Xampp. Этот плагин отлично работает на сайте реального сервера, но когда я клонирую его на локально размещенный сайт, он не работает.

Я ДЕЙСТВИТЕЛЬНО нуждаюсь в этом, чтобы работать локально по многим причинам, что, вероятно, вам придется объяснять.

Дополнительные сведения. Когда я открываю консоль Chrome на локальном сайте, появляется сообщение об ошибке:

Не удалось загрузить ресурс: сервер ответил статусом 404 (не найден) http: // localhost: 8080 / rol / Desktop / sitefolder / htdocs / wordpress / wp-content / plugins / wpnotebook / ajax.php? _ = 1427163308124 & action = 1tabs

Мои мысли в том, что в кодировке есть ошибка, из-за которой он извлекает из физической папки на моем компьютере, а не пытается извлечь ее из:

HTTP: // локальный: 8080 / WordPress / WP-содержание / плагины / wpnotebook / ajax.php _ = 1427163308124 & действие = 1tabs?

Я просто не уверен, как это исправить, если это так. Вот код скрипта ajax tabs:

jQuery(document).ready(function($) { /*$(document).ready(function(){*/ /* This code is executed after the DOM has been completely loaded */ var dirurll = jQuery('#dirurl').val(); var bkid = jQuery('#idbook').val(); //alert(dirurll); jQuery.ajax({ type: "GET", url: "/"+dirurll+"/ajax.php", data: "action="+bkid+"tabs", cache: false, dataType: "json", success: function(Tabs){ jQuery.each(Tabs, function(i){ /* Sequentially creating the tabs and assigning a color from the array: */ var tab = jQuery('<li id="Tab-'+Tabs[i].tab_id+'" class="tabItem">'+ '<div class="tabTitle">'+ '<a href="#" class="tab"><span class="left"></span><div class="tabName">'+Tabs[i].name+'</div><span class="right"></span></a>'+ '</div>'+ '<div class="tabCreated">'+Tabs[i].date_created+'</div>'+ '</li>'); /* Adding the tab to the UL container: */ jQuery('#tabRow').append(tab); }); jQuery('#tabRow').sortable({ update : function(event, ui){ // The function is called after the tabs are rearranged // The toArray method returns an array with the ids of the tabs var arr = jQuery("#tabRow").sortable('toArray'); // Striping the Tab- prefix of the ids: arr = jQuery.map(arr,function(val,key){ return val.replace('Tab-',''); }); // Saving with AJAX jQuery.get('/'+dirurll+'/ajax.php',{action:'rearrangeTabs',positions:arr,rand:Math.random()}); } }); /* Caching the tabs into a variable for better performance: */ var the_tabs = $('.tab'); the_tabs.live('click',function(e){ /* If it is currently active, return false and exit: */ if($(this).is('.activeTab')) return false; jQuery('#contentHolder').empty(); /* "this" points to the clicked tab hyperlink: */ currentTabID = $(this).closest('.tabItem').attr('id').replace('Tab-',''); /* Set the current tab: */ jQuery('a.tab').removeClass('activeTab'); jQuery(this).addClass('activeTab'); jQuery('#pageList').empty(); jQuery.getJSON('/'+dirurll+'/ajax.php',{"action":bkid+"pages","tab_id":currentTabID,rand:Math.random()},function(Pages){ jQuery.each(Pages, function(i){ /* Sequentially creating the pages and assigning a color from the array: */ var pageItem = jQuery('<li id="Page-'+Pages[i].page_id+'" class="pageItem">'+ '<div class="pageTitle">'+ '<a href="" id="Page-'+Pages[i].page_id+'" class="notepage">'+ '<span class="left"></span><span class="pageName">'+Pages[i].name+ '</span><span class="right"></span></a>'+ '</div>'+ '<div class="pageCreated">'+Pages[i].date_created+'</div>'+ '<div class="columns">'+Pages[i].columns+'</div>'+ '</li>'); /* Setting the page data for each hyperlink: */ pageItem.find('a').data('page','/'+dirurll+'/ajax.php'+'?action='+bkid+'lists&page_id='+Pages[i].page_id); makeTabsDroppable(); /* Adding the tab to the UL container: */ jQuery('#pageList').append(pageItem).fadeIn('fast'); }); // close $.each(Pages) // add link to create a new page var newPage = jQuery( '<li id="newPageItem">'+ '<abbr title="'+_('New Page')+'"><a href="" class="notebookIcons newPage">'+ '</a></abbr>'+ '</li>'); jQuery('#pageList').append(newPage); makePagesDroppable(); // Make the first page the active page clickPage(); // function located in notebook.php jQuery('#pageList').sortable({ items : 'li.pageItem', update : function(event, ui){ // The function is called after the tabs are rearranged // The toArray method returns an array with the ids of the tabs var arr = jQuery("#pageList").sortable('toArray'); // Striping the Tab- prefix of the ids: arr = jQuery.map(arr,function(val,key){ return val.replace('Page-',''); }); // Saving with AJAX jQuery.get('/'+dirurll+'/ajax.php',{action:'rearrangePages',positions:arr,rand:Math.random()}); } }); }); // close $.get("ajax.php") e.preventDefault(); }) jQuery('a.notepage').live('click',function(e){ /* "this" points to the clicked page hyperlink: */ var element = $(this); /* If it is currently active, return false and exit: */ if($(this).is('.activePage')) return false; /* Set the current page: */ jQuery('a.notepage').removeClass('activePage'); jQuery(this).addClass('activePage'); /* Checking whether the AJAX fetched page has been cached: */ if(!element.data('cache')) { /* If no cache is present, show the gif preloader and run an AJAX request: */ jQuery('#contentHolder').html('<img src="theme/default/images/ajax_preloader.gif" width="64" height="64" class="preloader" />'); jQuery.get(element.data('page'),{'rand':Math.random()},function(msg){ jQuery('#contentHolder').html(msg); }); } }) //close .notepage live click /* Emulating a click on the first tab so page list is not empty: */ clickTab(); // function located in notebook.php // Listen for click on New Tab icon jQuery('.newTab').live('click',function(e){ addTab('newTab',0); }); // close #newTab click // Listen for click on Add Page icon jQuery('.newPage').live('click',function(e){ addPage('newPage', currentTabID); e.preventDefault(); }); // close #newTab click } // closing ajax success: }); // close ajax }); function addTab(action, id) { var dirurlll = jQuery('#dirurl').val(); var d = new Date(); var curr_date = d.getDate(); var curr_month = d.getMonth(); curr_month++; var curr_year = d.getFullYear(); var curr_hour = d.getHours(); var curr_min = d.getMinutes(); currentDate = curr_year + "-" + curr_month + "-" + curr_date + " " + curr_hour + ":" + curr_min ; jQuery.getJSON('/'+dirurlll+'/ajax.php',{'action':action,'id':id,rand:Math.random()},function(Tabs){ jQuery.each(Tabs, function(i){ var tabCreated = Tabs[i].date_created; tabCreated = tabCreated.substring(0,tabCreated.length-3); // remove the seconds section from the date /* Build the new tab and append it to the tabRow */ var tab = jQuery( '<li id="Tab-'+Tabs[i].tab_id+'" class="tabItem">'+ '<div class="tabTitle">'+ '<a href="#" class="tab"><span class="left"></span><div class="tabName">'+Tabs[i].name+'</div><span class="right"></span></a>'+ '</div>'+ '<div class="tabCreated">'+tabCreated+'</div>'+ '</li>'); /* Adding the tab to the UL container: */ jQuery('#tabRow').append(tab); }); // close .each loop makeTabsDroppable(); }); // close newTab ajax call } function addPage(action,id) { var dirurlll = jQuery('#dirurl').val(); var bkid = jQuery('#idbook').val(); var d = new Date(); var curr_date = d.getDate(); var curr_month = d.getMonth(); curr_month++; var curr_year = d.getFullYear(); var curr_hour = d.getHours(); var curr_min = d.getMinutes(); currentDate = curr_year + "-" + curr_month + "-" + curr_date + " " + curr_hour + ":" + curr_min ; jQuery.getJSON('/'+dirurlll+'/ajax.php',{'action':action,'id':id,rand:Math.random()},function(Pages){ jQuery.each(Pages, function(i){ var pageCreated = Pages[i].date_created; pageCreated = pageCreated.substring(0,pageCreated.length-3); // remove the seconds section from the date /* Sequentially creating the pages and assigning a color from the array: */ var pageItem = jQuery('<li id="Page-'+Pages[i].page_id+'" class="pageItem">'+ '<div class="pageTitle">'+ '<a href="" id="Page-'+Pages[i].page_id+'" class="notepage">'+ '<span class="left"></span><span class="pageName">'+Pages[i].name+ '</span><span class="right"></span></a>'+ '</div>'+ '<div class="pageCreated">'+pageCreated+'</div>'+ '<div class="columns">'+Pages[i].columns+'</div>'+ '</li>'); /* Setting the page data for each hyperlink: */ pageItem.find('a').data('page','/'+dirurlll+'/ajax.php?action='+bkid+'lists&page_id='+Pages[i].page_id); // remove the new page and settings links so they can be added back to the end jQuery('#newPageItem').remove(); /* Adding the tab to the UL container: */ jQuery('#pageList').append(pageItem).fadeIn('fast'); // add link to create a new page var newPage = jQuery( '<li id="newPageItem">'+ '<abbr title="'+_('New Page')+'"><a href="" class="notebookIcons newPage">'+ '</a></abbr>'+ '</li>'); jQuery('#pageList').append(newPage); jQuery('#pageList').append(newPage).fadeIn('fast'); }); // close $.each(Pages) makePagesDroppable(); }); // close newTab ajax call } 

Solutions Collecting From Web of "Плагин не работает локально, но работает на сервере"

И поэтому я отправляю в stackexchange. Я работал над этим в течение месяца, затем, как только я опубликовал вопрос, я нашел решение (спасибо Мило, что подтвердило мои подозрения).

Решение заключалось в том, что сценарий, который сделал фрилансер, пытался вызвать полный URL-адрес, а на локальном хосте он попытался захватить файл url.

решение заключалось в том, чтобы заменить все экземпляры «DIRURL» или «DIRURLL» в моем скрипте с относительным путем к файлам плагина. Используя notepad ++, я просто выполнил поиск «найти в файлах», разместил преступников, а затем заменил все на относительный путь – плагин мгновенно начал работать (после обновления, конечно).

Спасибо, парни.