WooCommerce에서 주문 알림 보내기 가이드

WooCommerce에서 주문 알림 보내기 가이드
WooCommerce에서 주문 알림 보내기 가이드

맞춤 주문 알림 구현

WooCommerce 매장을 관리하려면 제품이 판매될 때 공급업체나 제품 관리자에게 즉시 정보를 제공해야 합니다. 이 프로세스는 업데이트된 재고를 유지하고 판매자 참여를 강화하는 데 필수적입니다. 일반적으로 WooCommerce는 상점 관리자에게 주문 알림을 보내지만 공급업체 플러그인 없이 직접 제품을 관리하는 개별 사용자나 공급업체에게는 보내지 않습니다.

이 문제를 해결하려면 WooCommerce의 기능을 확장하여 새로운 주문 시 제품 게시자에게 알림을 보낼 수 있도록 사용자 지정 코딩이 필요합니다. 여기에는 WooCommerce의 후크 및 필터를 활용하는 작업, 특히 주문 처리 단계를 대상으로 제품 게시자에게 사용자 정의 이메일 알림을 실행하는 작업이 포함됩니다.

명령 설명
add_action() WordPress에 의해 트리거된 특정 작업 후크에 콜백 함수를 등록합니다. 이 경우 WooCommerce에서 주문이 처리된 후 사용자 지정 코드를 실행하는 데 사용됩니다.
wc_get_order() 주문 ID를 사용하여 주문 개체를 검색하여 WooCommerce 내의 모든 주문 세부정보에 액세스할 수 있습니다.
get_items() 주문에 포함된 모든 항목/제품의 배열을 반환하기 위해 주문 개체에서 호출되는 메서드입니다.
reset() 배열의 내부 포인터를 첫 번째 요소로 재설정합니다. 여기서는 주문 항목 배열에서 첫 번째 항목을 가져오는 데 사용됩니다.
get_product_id() 스크립트에서 추가 참조를 위해 사용되는 제품의 고유 식별자를 검색하기 위해 항목/제품 개체에서 호출됩니다.
get_post_field('post_author', $product_id) 특정 게시물 필드에서 데이터를 가져옵니다. 여기서는 제품 게시물과 관련된 작성자/사용자 ID를 가져오는 데 사용됩니다.
get_userdata() 제품 작성자의 이메일 및 표시 이름과 같은 세부 정보를 가져오는 데 사용되는 사용자 ID로 사용자와 관련된 모든 데이터를 검색합니다.
wp_mail() WordPress를 통해 이메일을 보내는 데 사용됩니다. 주어진 제목, 메시지, 헤더로 포맷된 이메일을 설정하여 보냅니다.

WooCommerce 알림 스크립트 이해

제공된 스크립트는 WooCommerce 사이트에서 해당 제품에 대한 새로운 주문이 접수될 때 제품 게시자에게 알리는 프로세스를 자동화하는 역할을 합니다. 워크플로는 다음으로 시작됩니다. add_action() WooCommerce의 결제 프로세스에 연결되는 기능입니다. 이 작업은 맞춤 기능을 트리거합니다. send_email_to_product_publisher_on_new_order 주문이 처리될 때마다. 이 함수는 먼저 조건문을 사용하여 유효한 주문 ID가 있는지 확인합니다. 그렇지 않은 경우 오류 방지를 위해 종료됩니다. 그런 다음 다음을 통해 주문 개체를 검색합니다. wc_get_order() 기능을 통해 주문 세부정보에 액세스할 수 있습니다.

주문 객체를 얻으면 스크립트는 다음을 사용합니다. 주문한 제품 배열을 가져옵니다. 구성에서는 주문당 하나의 제품만 허용하므로 reset() 함수는 첫 번째 항목을 직접 가져오는 데 활용됩니다. 후속 라인에는 다음을 사용하여 제품 ID와 제품 게시자의 사용자 ID를 추출하는 작업이 포함됩니다. get_product_id() 그리고 get_post_field('post_author'), 각각. 스크립트는 다음을 통해 사용자 데이터를 가져옵니다. get_userdata(), 알림이 전송될 이메일을 포함합니다. 이메일은 다음을 사용하여 작성되고 전송됩니다. wp_mail(), 알림 프로세스를 완료합니다.

WooCommerce 제품 주문에 대한 맞춤 이메일 알림

WordPress와 WooCommerce PHP 통합

add_action('woocommerce_checkout_order_processed', 'send_email_to_product_publisher_on_new_order', 10, 1);
function send_email_to_product_publisher_on_new_order($order_id) {
    if (!$order_id) return;
    $order = wc_get_order($order_id);
    if (!$order) return;
    $items = $order->get_items();
    $item = reset($items);
    if (!$item) return;
    $product_id = $item->get_product_id();
    $author_id = get_post_field('post_author', $product_id);
    $author = get_userdata($author_id);
    if (!$author) return;
    $author_email = $author->user_email;
    if (!$author_email) return;
    $subject = 'Notification: New Order Received!';
    $message = "Hello " . $author->display_name . ",\n\nYou have a new order for the product you posted on our website.\n";
    $message .= "Order details:\n";
    $message .= "Order Number: " . $order->get_order_number() . "\n";
    $message .= "Total Value: " . wc_price($order->get_total()) . "\n";
    $message .= "You can view the order details here: " . $order->get_view_order_url() . "\n\n";
    $message .= "Thank you for your contribution to our community!";
    $headers = array('Content-Type: text/plain; charset=UTF-8');
    wp_mail($author_email, $subject, $message, $headers);
}

WooCommerce의 향상된 이메일 알림 기능

WooCommerce를 위한 고급 PHP 스크립팅

add_action('woocommerce_checkout_order_processed', 'notify_product_publisher', 10, 1);
function notify_product_publisher($order_id) {
    if (empty($order_id)) return;
    $order = wc_get_order($order_id);
    if (empty($order)) return;
    foreach ($order->get_items() as $item) {
        $product_id = $item->get_product_id();
        $author_id = get_post_field('post_author', $product_id);
        $author_info = get_userdata($author_id);
        if (empty($author_info->user_email)) continue;
        $email_subject = 'Alert: Your Product Has a New Order!';
        $email_body = "Dear " . $author_info->display_name . ",\n\nYour product listed on our site has been ordered.\n";
        $email_body .= "Here are the order details:\n";
        $email_body .= "Order ID: " . $order->get_order_number() . "\n";
        $email_body .= "Total: " . wc_price($order->get_total()) . "\n";
        $email_body .= "See the order here: " . $order->get_view_order_url() . "\n\n";
        $email_body .= "Thanks for using our platform.";
        $headers = ['Content-Type: text/plain; charset=UTF-8'];
        wp_mail($author_info->user_email, $email_subject, $email_body, $headers);
    }
}

WooCommerce의 향상된 워크플로 자동화

벤더 플러그인 없이 WooCommerce에 제품 게시자를 위한 사용자 정의 알림을 통합하려면 WordPress 기능을 효과적으로 활용해야 합니다. 이 접근 방식은 여러 공급업체가 단일 플랫폼에서 제품을 관리하는 사이트에 특히 유용합니다. WordPress 사용자 역할 및 기능 시스템을 사용하면 사이트에서 사용자가 재고를 관리하는 동시에 제품 판매에 대한 직접적인 알림을 받을 수 있습니다. 이 시스템은 플랫폼 내 커뮤니케이션을 간소화할 뿐만 아니라 각 공급업체가 재고 이동에 대해 즉시 업데이트되도록 보장합니다. 이는 정확한 재고 수준을 유지하고 재입고를 계획하는 데 중요합니다.

이러한 알림 시스템을 구현하려면 WooCommerce와 WordPress 내부에 대한 깊은 이해가 필요합니다. 여기에는 WordPress 내 후크 및 필터, 사용자 역할, 이메일 처리에 대한 지식이 포함됩니다. 또한 이러한 사용자 지정 구현이 기존 워크플로 또는 플러그인과 충돌하지 않도록 보장하여 관리자와 공급업체 모두에게 원활한 환경을 제공하는 것이 중요합니다. 잘못된 알림이나 중복된 알림을 보내는 것을 방지하려면 제공된 스크립트에 설명된 대로 적절한 오류 처리 및 유효성 검사가 중요합니다.

사용자 정의 WooCommerce 알림에 대해 자주 묻는 질문

  1. 의 목적은 무엇입니까? add_action() 스크립트에 함수가 있나요?
  2. 그만큼 add_action() 함수는 WordPress 또는 WooCommerce에 의해 트리거된 특정 작업에 사용자 지정 함수를 연결하는 데 사용됩니다. 이 경우 주문이 처리된 후 알림 프로세스를 시작합니다.
  3. 왜? wc_get_order() 맞춤 알림에 중요한 기능이 있나요?
  4. 그만큼 wc_get_order() 함수는 어떤 제품을 구매했는지 확인하고 알림을 위한 게시자 정보를 추출하는 데 필요한 주문 세부 정보를 검색합니다.
  5. 어떻게 reset() 주문 항목 처리를 지원하는 기능이 있습니까?
  6. 매장에서는 주문당 하나의 제품만 허용하므로 reset() 함수는 주문 항목 배열의 첫 번째이자 유일한 제품에 직접 액세스하는 데 도움이 됩니다.
  7. 무엇을 하는가? get_post_field('post_author') WooCommerce의 맥락에서 검색하시겠습니까?
  8. 이 기능은 주문 알림 이메일의 수신자를 식별하는 데 필요한 제품을 게시한 사용자의 ID를 검색합니다.
  9. 의 역할은 무엇입니까? wp_mail() 알림 프로세스의 기능은 무엇입니까?
  10. 그만큼 wp_mail() 기능은 지정된 제목과 메시지 내용을 사용하여 제품 게시자에게 실제 이메일 알림을 보내기 때문에 매우 중요합니다.

맞춤 알림에 대한 최종 생각

WooCommerce에 사용자 지정 알림 기능을 통합하면 개별 공급업체의 제품 판매를 관리하는 맞춤형 접근 방식이 제공됩니다. 이 시스템은 전자상거래 플랫폼과 사용자 간의 적시 커뮤니케이션을 보장하여 운영 효율성을 향상시킬 뿐만 아니라 더 나은 재고 관리 및 공급업체 참여를 지원합니다. 이러한 솔루션은 제품을 직접 관리하는 공급업체의 특정 요구 사항을 해결함으로써 사용자가 판매 프로세스를 더 효과적으로 제어하고 감독할 수 있도록 해줍니다.