Intereting Posts
Получить условия таксономии по порядку даты их публикации? Почему в wordpress нет глобальной функции для возврата вывода любого вызова функции? post_status => публикация не работает Wp Ecommerce Reposition Страница продукта Продукт Thumbnail Image wp enqueue style и глубину таблицы стилей Сетевая установка дает ошибки при просмотре или добавлении пользователя Повторите выбранное изображение страницы, назначенной блогу в index.php Как сделать пользовательскую страницу WordPress доставлять результаты поиска Внедрить контент-nosidebar.php / content-leftsidebar.php Как я могу сделать заголовок полной шириной с остальной частью сайта в штучной упаковке? Удалите и выполните новую установку WordPress Авто-модификация оригинальных изображений Включить комментарии к пользовательским типам сообщений в теме каталога Некоторые ссылки продолжают перенаправляться в другой домен Как связать внешние файлы jQuery / Javascript с WordPress

Вызов admin ajax с использованием абсолютного URL-адреса? Относительные разрывы URL (frontend ajax)

Надеюсь, есть простой способ сделать это / я делаю что-то ужасно неправильно: я пытаюсь просто отобразить список заголовков сообщений. Когда пользователь нажимает на заголовок, он отображает содержимое указанного заголовка в ранее пустой div на той же странице с помощью ajax.

однако это не сработает правильно, если я переключусь на постоянные ссылки и т. д., или у вас есть URL-адрес, который представляет собой несколько каталогов в глубинах (например: site.com/dir1/dir2/dir3/page, или site.com/dir1/page). Он будет ТОЛЬКО работать, если у меня есть site.com?p=23

ПОТОМУ ЧТО этот относительный URL-адрес в моем запросе ajax:

jQuery(document).ready(function($){ //whenever a title is clicked on: run this request $('.get_post').click(function(e){ e.preventDefault(); $portfolioPostId = $(this).data('postid'); $.ajax({ type: 'GET', url: '../wp-admin/admin-ajax.php', //WON'T LOAD on any url that ISN'T like this format: site.com/?p=123 data: { action: 'my_post', postid: $portfolioPostId }, success: function(data){ $('#well').html(' '); $('#well').html(data); }, error: function(XMLHttpRequest, textStatus, errorThrown){ console.log(errorThrown) + '\n'; } }); }); }); 

Итак, INSTEAD имеет url: '/wp-admin/admin-ajax.php' , как я мог вместо этого использовать АБСОЛЮТНЫЙ URL? Или есть что-то лучшее, что можно сделать?

EDIT: РЕШЕНИЕ К МОЕМУ ВЫПУСКУ:

Благодаря ответу Rarst я смог найти способ передать абсолютный URL.

В моем php-файле, где я вставляю свой сценарий, я также отправил объект под названием psAjax_object , содержащий абсолютный URL-адрес admin-ajax.php

 function frontend_js(){ wp_enqueue_script('shuffle_ajax', plugins_url( NAME . '/public/js/portfolio_grid_ajax.js'), array('jquery'), '', true ); //creates the property for the 'psAjax_object' $localizedArray = array('ajax_url' => admin_url('admin-ajax.php')); //allows my portfolio_grid_ajax.js file to access 'psAjax_object' wp_localize_script('shuffle_ajax', 'psAjax_object', $localizedArray); } add_action('wp_enqueue_scripts', 'frontend_js'); 

а затем в моем js-файле я могу получить доступ к абсолютному URL-адресу, набрав psAjax_object.ajax_url