Как сделать Ajax запрос в WordPress? Начальный гайд, работа с admin-ajax.php

안녕, 얘들 아! 드미트리와 함께하면 WordPress에 대한 채널을 보게됩니다 나는 종종 AJAX 요청을하는 방법을 묻는다

워드 프레스 사실, 나는 Ajax를 말하는 데 익숙하다 그리고이 약어를 어떻게 발음합니까? 그래서, 탈선 일반적으로 복잡한 것 외에는 아무 것도 보이지 않을 것입니다 1 분 5 분 수업에서 만날 수 있습니다

그러나 공과를 준비하면서 많은 뉘앙스가 있음을 보여주었습니다 나는 모든 것을 언급하고 보여주고 싶다 실용적인면에서 예시 대상은 무진장합니다 그래서 나는 AJAX에 관한 일련의 비디오 튜토리얼을 녹음하기로 결정했다 WordPress에서, 별도의 재생 목록으로 결합

처음 몇 번의 수업은 이론에 정진 될 것이며, 간단한 예제에 의해 지원됩니다 그 (것)들에서 당신은이 화제에 응답의 대다수를 찾아 낼 것이다 나머지는 실용적인 예제들에 바칠 것이며, 재생 목록은 지속적으로 보충됩니다 내 비디오 수업은 주로 기사를 기반으로합니다 Timur Kamaev의 "WordPress의 Ajax"에는 주제에 대한 기본 정보뿐만 아니라 많은 뉘앙스가 있습니다

내 시간에 그녀에게 감사했습니다 내가 말할 것보다 북마크에 추가하여 사용하는 것이 좋습니다 이어서 치트 시트로 즉, ajax 쿼리는 "백그라운드"데이터 교환에 사용됩니다

서버와 브라우저 사이 간단히 말하면, 브라우저의 zhmakayem 버튼과 이 정보는 서버로 전송됩니다 페이지를 다시로드하지 않아도됩니다 물론 이것은 많은 예제 중 하나이지만 우리에게 더 가깝습니다 모두

예를 들어,이 문제는 "VKontakte" 또는 다른 소셜 네트워크와 같은 버튼 "모두 표시 의견 ","좋아요 "또는"메시지 보내기 " 물론 WP REST API가 출시되면이 단원에서 설명하는 방법 admin-ajaxphp 파일로 작업하는 트릭이 될 것입니다 수요가 적습니다 그러나 그들은 여전히 ​​활발하게 사용되고 충분히 사용됩니다 배우기 쉽다

따라서, 나는 WordPress 개발자들 안에서 그들을 알고 있다고 믿는다 테마 및 플러그인이 필요합니다 네, 무슨 말을 해야할지,이 수업에서 오는 수많은 리셉션 WP REST API를 사용할 때도 적용됩니다 당신이 내 견해를 공유한다면, 우리는 계속할 것입니다 AJAX 기술과 그 특수성에 관해서는 하지 않을 것입니다

시간이 오래 걸리며 적용되지 않습니다 직접 WordPress에 즉, 그녀는 "어머니도 아버지도 아닙니다"- 그녀는 자산입니다 사람들 이 비디오를 보면, 나는 당신이 이 기술은 여전히 ​​친숙하며 우리는 직접 WordPress에 Ajax 요청을 보내고 받기위한 메커니즘을 고려하십시오

그것으로부터 대답 Ajax 기술은 JavaScript를 기반으로하지만 멀리부터 시작하겠습니다 WordPress에서는 Ajax 요청 수신을 담당하는 특수 파일이 있습니다 admin-ajaxphp는 wp-admin 폴더에 있으며 이에 따라, 도메인 / wp-admin / admin-ajax

php 주소에서 사용 가능합니다 이 파일을 직접 켜고 0을 얻습니다 즉, WordPress는 다음과 같이 말합니다 : "You come 뭔가 물어 보지만 존중하지 말고 물어 보면 어떤 행동을 취해야하는지 말하십시오 " 그리고 그것은 "파시스트 수류탄을 얻는"형태로 제로 일반적으로이 파일은 다양한 상황에서 반환 할 수 있습니다

다음 정보 : 첫째, 결과 자체 모든 것이 잘되면 요청하십시오 예를 들어, 최근 10 개의 레코드, 검색 쿼리의 결과, 금요일에 등록 된 사용자 목록 열세 번째 등등 그것은 모두 당신이 우리의 코드를 가지고 있는지에 달려 있습니다 action 매개 변수가 전달되지 않았거나 두 번째 매개 변수가 0이면 그것은 비어 있습니다 – 우리는이 규칙에 빠졌습니다 admin-ajax

php 파일의 코드를보고이 검사를 참조하십시오 마지막 줄에주의를 기울이십시오 – 죽으십시오 ( '0'), 즉 요청이 성공적으로 처리 되더라도, 그에게 똑같은 "붙인"제로 나중에이 상황에 대해 이야기하고 이 흠집을 제거하십시오 셋째 – 마이너스 Ajax 요청이 보호 될 때 표시됩니다

비밀 키를 입력하고 테스트를 통과하지 못했습니다 이 사건은 그러한 요청의 보안과 관련이있다 다른 레슨에서 더 자세히 논의 될 것입니다 예 지루하고도 필요한 이론은 끝났습니다

연습하기 여전히 자바 스크립트를 사용하지는 않겠지 만 admin-ajaxphp 파일에 직접 액세스하십시오 이것은 처음에는 연습하는 좋은 방법입니다 서버에서 원하는 html 또는 json 코드를 가져옵니다

즉, 어떤 경우에는 PHP 코드를 디버그하는 것도 아주 간단합니다 우리가 만족스러운 결과를 얻 자마자, JavaScript의 경우 걱정하지 마십시오 내가 보여줄 모든 코드는 당신의 테마의 functionsphp에서 사용하십시오 나는 주제를 만지는 것을 피하기 위해 WordPress 플러그인을 만들 것이다

나는 "Ajax Query Test"라고 이름을 짓고 그것을 활성화 할 것이다 마지막으로 PHP 코드 작성을 시작하십시오! 엔진이 어떤 작업을 요청했는지 알기 위해서는 특별한 일을하기 위해서 이를 위해 보통 add_action 함수를 호출합니다 첫 번째 매개 변수에 후크의 이름을 전달해야합니다 두 번째는 시작할 때 실행될 함수의 이름입니다

이 후크를 트리거합니다 wp_ajax_ (조치 이름)의 이름은 예를 들어 hello입니다 함수 이름은 say_hello와 같이 any 일 수 있습니다 일반적으로 람다 함수가 될 수 있습니다 이제 그 기능을 설명해 보겠습니다

이름에 따라 출력합시다 "안녕하세요, 사용자!" 검색 주소창으로 가서 admin-ajaxphp 파일을 참조하십시오 action 매개 변수 GET을 hello 값에 전달합니다

그리고 여기 화면에 우리의 구가 있습니다! 사실, 귀찮은 제로가있었습니다 정보를 표시 한 후 제거하려면 화면에서 항상 인터프리터의 PHP 작업을 중단해야합니다 이를 위해 exit () 또는 die ()를 사용할 수 있지만 개발자 자료 WordPress는 엔진의 특수 기능을 사용하는 것이 좋습니다 wp_die () 가능한 경우 항상 die () 또는 exit () 대신 wp_die ()를 사용하십시오 귀하의 AJAX 요청 처리 기능

따라서 WordPress와 더 잘 통합 될 수 있으며 코드의 오류가 발생하면 해당 데이터를 가져옵니다 재확인 – 이제 모든 것이 정상입니다 제로에서 제거되었습니다 우리 스크립트는 이제 정적입니다 정답

약간의 역 동성을 추가합시다 예를 들어 사용자 이름을 전달하면 사용자 이름이 반환됩니다 개별 인사말 새로운 GET 매개 변수를 이름 키와 함게 사용하십시오 코드에서 변수 이름을 정의합니다

GET 매개 변수가 비어 있으면 "user"와 같을 것입니다 무엇인가가 전달되면, 이전 된 가치, esc_attr () 함수를 사용하여 정리할 수도 있습니다 보안상의 이유로 이제 주소 표시 줄에 값과 함께 name 매개 변수를 추가하겠습니다 "드미트리"와 나는 결과를 즐길 수 있습니다

어,하지만 오랫동안, 우리는 더 멀리갑니다 이제 로그인했는데 괜찮습니다 하지만 등록되지 않은 파일이 admin-ajaxphp 파일에 접근한다면 어떨까요? 사용자? 시크릿 모드로 브라우저 탭을 엽니 다 등록되지 않은 사용자가 되십시오

나는 그 사이트에 가서 분과 같은 요청을 할 것이다 돌아왔다 화면의 제로에서, 한 번 전에이 시작 부분에 오래 전에 비디오 레슨 왜 그렇게됩니까? 사실 WordPress는 요청을 두 가지 유형으로 나눕니다 요청 권한이 부여 된 사용자 및 권한이없는 사용자로부터

우리 코드로 돌아 가자 권한이 부여 된 사용자의 요청의 경우, 후크 wp_ajax_ (이름 동작), 우리의 경우 그것은 wp_ajax_hello입니다 무단으로 사용하는 경우 유사한 것을 사용하므로 중복됩니다 훅 이름을 편집하고 wp_ajax_ 뒤에 추가하십시오 nopriv의 약자

분명히, 그것은 비공개가 아닌 개인으로서 해독됩니다 아약스 요청, 즉 공개 시크릿 탭으로 돌아가서 새로 고침하겠습니다 페이지 – 이제 효과가있었습니다 요약하자

접두사 wp_ajax가있는 후크는 핸들러 함수를 연결합니다 권한이 부여 된 사용자의 요청 및 wp_ajax_ nopriv – 무단으로 두 그룹의 요청을 처리하려는 경우 사용자 – 양쪽 후크를 모두 사용하십시오 그래서 우리는 admin-ajaxphp 파일로 작업 할 때의 기본 사항을 배웠습니다 수업은 복잡하지 않았지만 여전히 제안합니다

작은 휴식을 취한 다음 계속 학습하십시오 다음 강의에서는 직접 성형으로 진행합니다 아약스 요청 친구, 당신은 새로운 비디오의 공개를 강요 할 수 있습니다 좋아요, 동영상에 댓글을 달고 재정적으로 채널을 지원합니다

– 동영상에 대한 설명의 모든 링크 나는 당신이 수업을 좋아했기를 바랍니다, 고맙습니다 당신과 함께 드미트리는 WordPress에 관한 채널입니다 다음 수업까지!