2013-07-09 4 views
0

일부 맞춤 응답을 받으려면 WordPress 프론트 엔드에서 아약스 요청을 트리거해야합니다. JSON 형식으로 다음/이전 post-ID를 가져올 수 있습니다. 프로덕션 환경에서 hpaccess 디렉토리는 http 요청에 대해 htaccess가 액세스 할 수 없습니다.워드 프레스에서 아약스 : wp-admin을 피하시오

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

+0

이미 필요한 후크를 코딩 했습니까 ?? –

+0

당신은 add_action ('wp_ajax_avoid_admin', 'fn_avoid_admin')을 통해 무엇을 의미합니까? 아니 내가 havent 원인 ajax_url처럼 '/ wp - admin /'또는 무언가가 누락되었습니다 – campari

답변

0

AJAX는 워드 프레스의 백엔드에서 이미 사용 되었기 때문에 기본적으로 구현되었습니다. 사용할 수있는 기능 만 사용하면됩니다. 코드를 작성하기 전에 일반적으로 프로세스를 살펴 보겠습니다.

모든 AJAX 요청은 wp-admin 폴더의 admin-ajax.php 파일을 통과합니다. 이 파일의 이름이 admin-ajax 인 것은 다소 혼란 스러울 수 있습니다. 나는 꽤 동의한다. 그러나 이것은 개발 과정이 어떻게 바뀌 었는지이다. 따라서 우리는 백엔드 및 사용자 지향 AJAX에 admin-ajax.php를 사용해야합니다.

각 요청에는 action이라는 GET 또는 POST 메서드를 사용하여 하나 이상의 데이터를 제공해야합니다. 이 작업을 기반으로 admin-ajax.php의 코드는 wp_ajax_my_action 및 wp_ajax_nopriv_my_action의 두 가지 후크를 만듭니다. 여기서 my_action은 GET 또는 POST 변수 작업의 값입니다.

첫 번째 후크에 기능을 추가하면 로그인 한 사용자가 작업을 시작하면 해당 기능이 실행됩니다. 두 번째 훅을 사용하면 로그 아웃 한 사용자를 개별적으로 수용 할 수 있습니다.

+0

파일 admin-ajax.php는/wp-admin/right 아래에 있습니까? htacess 보호 "모두 거부"로 인해이 디렉토리가 완전히 잠겼습니다. 클라이언트의 요구 사항입니다. ajax 요청을 수행하는 다른 솔루션을 상상할 수 있습니까? – campari

+0

Firebug를 가져오고 ajax가 호출 될 때 콘솔에 표시되는 상태를 확인합니다. –

관련 문제