programing

정의되지 않은 함수 wp_mail 호출

procenter 2023. 2. 15. 23:11
반응형

정의되지 않은 함수 wp_mail 호출

안녕하세요 저는 Cron 웹 페이지에서 Wordpress의 이 기능을 사용하고 있으며 제 이메일에 이 오류를 발생시키고 있습니다.

치명적 오류: /home/meusite/public_html/wp-content/temes/escotec/page-cron.php의 정의되지 않은 함수 wp_mail()을 호출합니다.

여기 코드가 있습니다.

foreach($inscricoes as $key => $item){



    $emailSent = false;



    $emailTo = "$item->getEmail()";

//echo "..1";

    $subject = '[Escotec]: Dados para pagamento de inscrição ';
    $body = "Parabéns $inscricao->nome, sua inscrição no curso ".$item->getTurmas()[0]->getCurso()->getNome()." foi efetuada. <p>Para concluir o pagamento da inscrição clique no link abaixo ou cole-o diretamente na barra de endereços de seu Navegador: </p><br>";
    $body .= "<a href=\"http://escotecnordeste.com.br/pagamento/?email=".$item->getEmail()."&pedido=".$item->getPagamentoId()."\" target=\"_blank\">http://escotecnordeste.com.br/pagamento/?email=".$item->getEmail()."&pedido=".$item->getPagamentoId()."</a>";
    $headers = 'From: Escotec Nordeste <escotecnordeste@gmail.com>' . "\r\n" . 'Reply-To: ' . 'escotecnordeste@gmail.com';





    wp_mail($emailTo, $subject, $body, $headers);


    $emailSent = true;
// http://escotecnordeste.com.br/pagamento/?email=leandrocezar.dev@gmail.com&pedido=11

// Codificar envio do e-mail
    if ($emailSent) {
    // Atualizar registro do pedido para email_enviado = 'S'

        InscricaoDAO::RegistraEnvioEmail($item->getPagamentoId());
    }
}

Ty가 도움을 요청

아래 코드를 파일에 추가해 주세요.전화하신 곳wp_mail()기능.

파일의 맨 위에 이 코드를 추가합니다.

require_once("../../../wp-load.php");

또는 기능 변경wp_mail()로.mail()

함수 wp_mail()을 호출하고 있습니다.wp_mail()은 다음에 포함될 수 있습니다.wp-load.php.

require_once("wp-load.php");

토니가 제공한 해결책은 나에게 효과가 있다.내 코드:

function your_function_name() {
        $to =' your@email.com';
        $subject = 'The subject';
        $body = 'The email body content';
        $headers = array('Content-Type: text/html; charset=UTF-8');
        wp_mail( $to, $subject, $body, $headers );
}
add_action( 'wp_loaded', 'your_function_name' );

wp_mail() 함수는 아직 정의되지 않았습니다.이 페이지의 코드가 이것뿐입니까?wp_mail()은 이 파일에 있습니다.wp-mail/pluggable.dlls함수를 호출하기 전에 해당 함수를 포함해야 합니다.

wp-load가 필요합니다.php, 그렇게 함수는 문제없이 사용할 수 있고, 그 파일은 워드프레스의 모든 함수를 로드합니다.

경로가 /home/meusite/public_html/wp-content/temes/escotec/page-cron.php인 경우 다음 경로를 사용하여 wp-load를 요구합니다.

require_once( dirname(__FILE__) . '/wp-load.php' );"





foreach($inscricoes as $key => $item){



$emailSent = false;



$emailTo = "$item->getEmail()";

//echo "..1";

$subject = '[Escotec]: Dados para pagamento de inscrição ';
$body = "Parabéns $inscricao->nome, sua inscrição no curso ".$item->getTurmas()[0]->getCurso()->getNome()." foi efetuada. <p>Para concluir o pagamento da inscrição clique no link abaixo ou cole-o diretamente na barra de endereços de seu Navegador: </p><br>";
$body .= "<a href=\"http://escotecnordeste.com.br/pagamento/?email=".$item->getEmail()."&pedido=".$item->getPagamentoId()."\" target=\"_blank\">http://escotecnordeste.com.br/pagamento/?email=".$item->getEmail()."&pedido=".$item->getPagamentoId()."</a>";
$headers = 'From: Escotec Nordeste <escotecnordeste@gmail.com>' . "\r\n" . 'Reply-To: ' . 'escotecnordeste@gmail.com';





wp_mail($emailTo, $subject, $body, $headers);


$emailSent = true;
// http://escotecnordeste.com.br/pagamento/?email=leandrocezar.dev@gmail.com&pedido=11

// Codificar envio do e-mail
if ($emailSent) {
// Atualizar registro do pedido para email_enviado = 'S'

    InscricaoDAO::RegistraEnvioEmail($item->getPagamentoId());
}
}

이 방법은 효과가 있었습니다.

add_action( 'wp_loaded', 'cron_time' );

그것은 어디에서나 효과가 있고 거의 항상 그리고 특히 아약스에 효과가 있다.

워드프레스 코어 파일은 포함하지 마십시오.그것은 나쁜 습관이다.다음과 같이 합니다.

require_once( dirname(__FILE__) . '/wp-load.php' );

언급URL : https://stackoverflow.com/questions/31293780/call-to-undefined-function-wp-mail

반응형