전자 메일 주소로 주문 보고서를 보내는 플러그인을 만들었습니다. 주문 정보를 CSV 파일로 받아 이메일 첨부 파일로 보내야합니다. 지금까지는 주문 정보를 얻을 수 있었지만 WooCommerce 이메일에 파일을 첨부하는 방법을 고민하는 중입니다. 은 "order_information_report는"그것을 전송 될 때 내가 너무 첨부 파일에 끼어이 코드를 사용했다WooCommerce 전자 메일 첨부 파일
function attach_file_woocommerce_email($attachments, $id, $object)
{
if($id == 'order_information_report')
{
$upload = wp_upload_dir();
$order_csv_information = $upload['baseurl'] . '/order_information.csv';
$attachments[] = $order_csv_information;
}
return $attachments;
}
add_filter('woocommerce_email_attachments', 'attach_file_woocommerce_email', 10, 3);
은 csv 파일을 추가합니다. 그러나 이것은 작동하지 않는 것 같습니다. if 문을 주석 처리하려고했지만 여전히 작동하지 않았습니다.
흥미롭게도 나는 전자 메일 폴더에서 전자 메일 폴더를 포함하여 전자 메일 폴더를 테스트했습니다.
public function trigger($order_id) // Email Trigger
{
if(!$this->get_recipient())
{
return;
}
$this->send($this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments());
print_r($this->get_attachments());
}
print_r이 (가) csv 파일의 경로를 반환하는 것으로 보입니다. 브라우저에 해당 경로를 입력하면 다운로드 할 수 있습니다. 이것이 올바르게 작동하지 않는 이유에 대한 제안 사항은 무엇입니까?
편집은 내가 플러그인 디렉토리 대신이 잘 작동하는 것 같습니다 업로드 디렉토리의 경로를 변경할 때 이메일을 얻을 수 있지만, 어떤 이유에 대한 첨부 파일
답변이 정상적으로 작동하지 않는 이유를 추측해야한다면 여기에 업로드 디렉토리의 디렉토리 경로가 아닌'baseurl'이 사용됩니다. 그리고 당신의 대답에서 플러그인 디렉토리에 대한 디렉토리 경로를 사용하고 있습니다. 첨부 파일은 URL이 아닌 파일 경로에서만 작동합니다. – helgatheviking
그래, 내가 그럴 수도 있다고 생각한 대답을 게시 한 후 두 번째 첨부 파일 배열을 인쇄했을 때. –