2012-09-25 3 views
1

저는 현재 WordPress 웹 사이트에서 이메일 알림을 보내는 방법을 찾고 있습니다. 예를 들어 사용자가 페이지 A를 방문하면 백그라운드에서 이메일 알림이 전송됩니다.Wordpress - 페이지가로드 될 때 전자 메일 알림을 보내는 방법?

WordPress 환경에서 웹 개발 경험이 많지 않으므로 누구나 여기에 포인터를 줄 수 있습니까? 어디에서 시작해야합니까?

감사합니다.

편집 : 나는 둘 다 메일() & wp_mail() 함수를 시도했지만 그들 중 누구도 날 위해 일하는 것 같았다

. 그 페이지를 방문했을 때 어떤 이메일도 발송되지 않았습니다. 또한 기본 템플릿 인 해당 페이지의 템플릿을 확인했습니다. 아마도 내가 잘못된 파일을 편집하고 있었습니까 ??

Edit2가 :

아마 아직 호스팅 제공 업체에 의해 활성화되지 않은 메일 기능을 같아요.

+0

페이지가 정적 페이지입니까? – BugFinder

+0

네, 꽤 많은 텍스트와 이미지 만 있습니다. – woodykiddy

+0

사용자의 이메일 주소가 필요합니다. – aravind3

답변

2

다음은 HTML 전자 메일을 보내는 매우 기본적인 PHP 코드입니다.

<?php 
if(is_page(123)) 
{ 

$fromName = 'Auto email notification system'; 

$subject = 'Confirmed'; 

/* Mail Address */ 
$toAddr = '[email protected]'; 
$bccAddr = '[email protected]'; 
$fromAddr = '[email protected]'; 
/* End Mail Address */ 


/* Mail Body */ 
$msg = ' 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title></title> 
</head> 
<body> 
my messages about confirmation... 
</body> 
</html> 
'; 

$msg = wordwrap($msg, 70); 
/* End Mail Body */ 


/* Mail Headers Setup */ 
$headers = array(); 
$headers[] = "MIME-Version: 1.0"; 
$headers[] = "Content-type: text/html; charset=utf-8"; 
$headers[] = "From: ".$fromName." <".$fromAddr.">"; 
$headers[] = "Bcc: <".$bccAddr.">"; 
/* End Mail Headers Setup */ 


mail($toAddr, $subject, $msg, implode("\r\n", $headers)); 

} 
?> 

위의 코드는 header.php 파일의 맨 아래쪽에 배치되어 있으며 저에게는 효과적이었습니다.

모든 제안과 도움에 감사드립니다.

1

당신은 아마, 그래서

<?php 
if(is_page()) : 
    mail('[email protected]','My Subject','My Message'); 
endif; 
?> 

또한, 이메일을 보낼 때 페이지를 식별하기 위해 워드 프레스 is_page()처럼 이메일을 보내려면 PHP의 mail 기능을 원하는 '관련'에서 살펴볼 것이다 섹션 하단의 is_page 섹션 - 이메일을 보내려는 페이지의 다른 결정을 사용하고자 할 수 있습니다.

+0

위의 코드에 WP 템플릿을 사용해야합니까? 어디에 추가해야합니까? – woodykiddy

+0

그것은 당신이하는 일에 달려 있습니다. 사용자 정의 테마를 만들거나 다른 것을 사용하고 있습니까? - 사용자 정의 테마 인 경우 테마의 functions.php에 넣으십시오. 그렇지 않으면 플러그인이 가장 좋은 경로 일 수 있으며 플러그인이 기본 플러그인 파일에 있어야합니다. 하나 만드는 방법에 대한 자세한 내용은 Google 워드 프레스 플러그인. 이러한 사항이 적용되지 않는다면 추가 정보가 필요하므로 알려 주시면 감사하겠습니다. – Mark

+0

그것은 커스텀 테마가 될 수 없습니다. 원본 페이지에 새로운 기능의 "이메일 보내기"유형을 추가하기 만하면됩니다. 이 페이지는 이미 일부 텍스트와 이미지로 작성되었습니다. 나는 permalink에서 pageID를 안다. 그러나 내가 서버 사이드 스크립팅을 할 수있는 "코드 숨김"(.net 용어에 대해 유감스럽게 생각하는)에 도달 할 수있는 곳을 모른다. – woodykiddy

1

안녕하세요. @woodykiddy 페이지 템플릿을 만들고이 코드를 페이지에 삽입하십시오. 이 조건은 페이지가로드 될 때마다 true를 반환합니다. 이 당신을 도울 것입니다

// Example using the array form of $headers 
// assumes $to, $subject, $message have already been defined earlier... 

$headers[] = 'From: Me Myself <[email protected]>'; 
$headers[] = 'Cc: Aravind B Codex <[email protected]>'; 
$headers[] = 'Cc: [email protected]'; // note you can just use a simple email address 

<?php 
if(is_page()) : 
    wp_mail($to, $subject, $message, $headers); 
endif; 
?> 

http://codex.wordpress.org/Function_Reference/wp_mail

희망.

+0

thx 링크에 대해 살펴 보겠습니다. 템플릿을 사용하여 언급 한 이후의 간단한 질문입니다. 기존 페이지 참조에서 새 템플릿을 참조하려면 어떻게해야합니까? – woodykiddy

+0

내 질문을 업데이트했습니다. 어떤 이유로 wp_mail이 작동하지 않았습니다. – woodykiddy

+0

헤이 woodykiddy 나는 그것을 시험해 보았다. 당신이 뭔가를 놓친 것일 수 있습니다. – aravind3

1

템플릿을 쉽게 만들 수 있습니다. 새 페이지 my-template.php 만들기이 코드를 맨 위에 놓습니다.

<?php 
    /* 
    Template Name: My New Template 
    */ 
    ?> 

하지만 주제에 따라 다릅니다. 나는 너를 위해 20을 편집했다. 템플릿을 만드는 아이디어를 줄 것입니다. 거기에

<?php 
    /* 
    Template Name: My New Template 
    */ 

    get_header(); 

    $headers[] = 'From: Me Myself <[email protected]>'; 
    $headers[] = 'Cc: Aravind B Codex <[email protected]>'; 
    $headers[] = 'Cc: [email protected]'; // note you can just use a simple email address 
?> 

<?php 
if(is_page()) : 
    wp_mail($to, $subject, $message, $headers); 
endif; 
?> 


<div id="container"> 
    <div id="content" role="main"> 

    <?php 
    /* Run the loop to output the page. 
    * If you want to overload this in a child theme then include a file 
    * called loop-page.php and that will be used instead. 
    */ 
    get_template_part('loop', 'page'); 
    ?> 

    </div><!-- #content --> 

</div><!-- #container --> 

넣어 이메일 코드입니다. 템플릿 디렉토리에 저장하십시오.

관리 패널로 이동하여 페이지를 추가/편집하십시오. 페이지 오른쪽에는 옵션 (템플릿)이 있습니다. 템플릿이 드롭 다운에 표시됩니다. 템플릿을 선택하고 페이지를 저장하십시오.

+0

이런 종류의 접근법의 문제점은 테마가 업데이트 되 자마자 템플릿을 다시 만들어야한다는 것입니다. – Mark

+0

아니, 그렇게 생각하지 않아. – aravind3

관련 문제