woocommerce_order_status_inters가 트리거되지 않았습니다.
woocommerce 오더 완료 후 작업을 수행하는 커스텀 플러그인을 쓰고 싶은데 이 훅이 작동하지 않습니다.이 질문이 여러 번 나오는 걸 볼 수 있어요.
이쪽 : https://wordpress.stackexchange.com/questions/134463/woocommerce-order-status-completed-action-hook-not-working
여기: https://wordpress.org/support/topic/woocommerce_order_status_completed-is-not-working
다음은 https://wordpress.org/support/topic/woocommerce_order_status_completed-action-hook-not-working 입니다.
하지만 이 사람들이 받은 답변은 어쩔 수 없어요.
몇 가지 다른 방법으로 액션을 추가하려고 했습니다.
add_action( 'woocommerce_order_status_completed', 'ikwoocommerceorderstatuscompleted_func');
add_action( 'woocommerce_order_status_completed', array($this,'ikwoocommerceorderstatuscompleted_func'), 10, 1);
add_action( 'woocommerce_order_status_completed', array(&$this,'ikwoocommerceorderstatuscompleted_func'), 10, 1);
클래스에서도 시도:
class IKHooks {
function __construct() {
add_action( 'woocommerce_order_status_completed', array($this,'ikwoocommerceorderstatuscompleted_func'), 10, 1);
}
public function ikwoocommerceorderstatuscompleted_func( $order_id ) {
}
}
심지어 수업 시간 외에 행동을 하려고도 했습니다.
add_action( 'woocommerce_order_status_completed', array(IKHooks,'ikwoocommerceorderstatuscompleted_func'), 10, 1);
이러한 예는 모두 동작하지 않습니다. : (
후크를 호출하기 전에 다음 단계를 확인하십시오.
주문완료 이메일이 발송되었는지 확인합니다.
테마에 .
functions.php
add_action( 'woocommerce_order_status_completed','callback_function_name' );
function callback_function_name(){
global $wp_filter;
print_r($wp_filter);
exit;
}
콜백 함수의 이름이 후크 배열에 있는지 확인합니다.
[woocommerce_order_status_completed] => Array
(
[10] => Array
(
[wc_paying_customer] => Array
(
[function] => wc_paying_customer
[accepted_args] => 1
)
[wc_downloadable_product_permissions] => Array
(
[function] => wc_downloadable_product_permissions
[accepted_args] => 1
)
[callback_function_name] => Array
(
[function] => callback_function_name
[accepted_args] => 3
)
)
)
이 된다면,나 주제와 수 것을 합니다.functions.php 또는 한 후 " "를 .remove_action ★★★★★★★★★★★★★★★★★」remove_all_actions아마 그것 때문에 후크가 불리지 않을 거예요
이 방법으로 확인할 수도 있습니다.
add_action( 'woocommerce_order_status_completed', 'callback_function_name', 1);
후크의 우선순위를 10에서1로 변경하여 다른 액션 또는 후크보다 먼저 호출합니다.
갈고리를 .
add_action( 'woocommerce_order_status_changed', 'your_function', 99, 4 );
그리고 함수는 다음과 같이 보일 것이다.
function your_function( $order_id, $old_status, $new_status, $order ){
if( $new_status == "completed" ) {
//your code here
}
}
이것이 도움이 되기를 바랍니다.
앞서 이와 유사한 문제에 직면하여 다음과 같이 해결했습니다.
에서는 순서 를 '나다'로 합니다.completed
add_action( 'woocommerce_thankyou', 'your_wc_autocomplete_order' );
function your_wc_autocomplete_order( $order_id ) {
if ( ! $order_id ) {
return;
}
$order = wc_get_order( $order_id );
$order->update_status( 'completed' );
}
주문이 완료되면 다음 코드를 참조하십시오.
add_action('woocommerce_order_status_completed','payment_complete');
function payment_complete($order_id)
{
//global $items;
//$order = new WC_Order($order_id);
// do something ...
}
효과가 있기를 바랍니다. :)
woocommerce_order_status_changed ★★★★★★★★★★★★★★★★★」woocommerce_order_status_completed★★★★★★★★★★★★★★★★★★★★★★★★★★★이틀 동안 고생한 끝에 var_dump, var_export, print_r 등 관리패널에서 아무것도 할 수 없다는 것을 알게 되었습니다.
만약 당신이 나처럼 초보이고 그러한 행동이 효과가 없다고 생각한다면, 예를 들어 메일을 보내는 것과 같은 다른 행동을 촉발시켜보세요.
이 코드는 동작합니다.
function your_function( $order_id ){
$order = new WC_Order( $order_id );
$to_email = 'testing_mail@sample.com';
$payment = $order->get_payment_method_title();
$headers = 'From: Your Name <Your_site_mail@address.com>' . "\r\n";
wp_mail($to_email, 'subject', $payment, $headers );
}
add_action( 'woocommerce_order_status_completed', 'your_function');
훅을 해 보세요.woocommerce_order_status_changed
4개의 파라미터가 필요합니다.order id, old status 새 상태 및 순서.추가 코드 참조는 이쪽
이 방법은 고객님의 요구 사항에 정확히 부합하지 않을 수 있지만, 다른 대안이 될 만한 가치가 있는 것 같습니다.이게 도움이 됐으면 좋겠다.
당신이 이 남자를 쫓고 있는 것 같아요. woocommerce_payment_complete
function mysite_woocommerce_payment_complete( $order_id ) {
error_log( "Payment has been received for order $order_id", 0 );
}
add_action( 'woocommerce_payment_complete', 'mysite_woocommerce_payment_complete' );
언급URL : https://stackoverflow.com/questions/36315825/woocommerce-order-status-completed-not-triggered
'source' 카테고리의 다른 글
| ng-show 후 입력 필드에 포커스 설정 (0) | 2023.02.11 |
|---|---|
| WordPress.com에서 호스팅되는 WordPress 블로그에 구문 강조 표시를 추가하려면 어떻게 해야 합니까? (0) | 2023.02.07 |
| 여러 콘텐츠 관리 시스템을 학습하는 데 따른 비용 및 이점 (0) | 2023.02.07 |
| C#에 JSON 파일을 쓰는 방법 (0) | 2023.02.07 |
| Uncaught TypeError: null wp-embed.min.js의 속성 'secret'을 읽을 수 없습니다. (0) | 2023.02.07 |