2011-02-17 5 views
2

이것은 스크립트 나 기능상의 문제가 아닌 파일 위치입니다. Wordpress 테마를 만들었고 jQuery를 통해 팝업 연락처 양식을 호출하려고했습니다. 양식의 유효성을 검사하면 js 파일에서 이메일을 보내려면 PHP 파일을 호출합니다. 내가 JS 파일 또는 테마 루트에 그것을 동일한 디렉토리를 넣어 시도로, 난 그냥 내가 mailer.php 양식을 배치 할 위치 알고 싶어Wordpress : javascript 파일에서 호출하고 싶다면 PHP 스크립트를 어디에 두어야합니까?

wp_theme_root 
| 
js/popup_form.js 
| 
mailer.php 

: 여기

파일/폴더 구조 또는 wordpress 디렉토리에 있지만 모두 성공하지 못했습니다.

도와 주셔서 감사합니다.

+0

안녕하세요. 나는 똑같은 대답을 찾고있다. 나는 물건을 시험해 보았다. 그러나 그것이 어떻게 작동하는지 명확히하지 않고있다. js 파일을 호출하고 PHP 파일을 실행하려고합니다. PHP 파일은 테마 폴더에 있습니다. – noobcode

답변

0

WordPress 디렉토리의 루트 폴더에 넣은 다음 /js/popup_form.js과 같이 호출 해보십시오. /이 앞에 있는지 확인하십시오. 루트에서 시작한다는 것을 모르는 경우

희망이 당신을 위해 작동합니다.

1

테마의 일부인 경우 테마 폴더 나 테마 내부의 포함 폴더에 배치해야합니다. get_bloginfo() 메소드를 사용하여 액세스 할 수 있습니다. http://codex.wordpress.org/Function_Reference/get_bloginfo#Template_Directory

하지만 직접 파일을 호출 할 때 Wordpress 함수를 호출 할 수는 없습니다. 메일 기능이 WP에 의존하지 않고 메일을 보내는 경우라면 괜찮습니다. 그렇지 않으면 WP에 연결해야합니다.

내가 항상 사용하는 방법은 functions.php

add_action('wp', 'check_ajax'); //run this method for every call 
function check_ajax() { 
    if (isset($_GET["is_ajax_request"])) { 
     get_template_part('includes/axax_calls'); die(); 
    } 
} 

코드의이 비트를하는 것입니다 그리고 난에 포함 테마 폴더 안에 ajax_calls라는 파일이 있습니다. 이 메소드는 스택에서 WP를 사용하는 모든 Ajax 호출도 처리한다. 모든 ajax 요청에 'is_ajax_request'가 있어야합니다.

0

가장 쉬운 방법은 메일 전송을 처리하는 코드를 플러그인으로 작성하는 것입니다. 자체적으로 자체 포함 된 MVC 구성 요소 (대부분 비어 있음)가 있습니다.

내가 찾을 수있는 기존 예제는 JSON-API입니다. 약간 크고 단순합니다.