All posts by Paul Edenburg

E-mail melding over WordPress update uitzetten

Ontvang je een mailtje van je WordPress website(s) dat deze geüpdatet is/zijn? Misschien wil je dat mailtje niet meer ontvangen.

Hier laat ik je zien hoe dat moet. Om de een of andere manier is dat niet te doen via standaard WordPress-instellingen.

Voeg het volgende toe aan je `functions.php` bestand in je actieve thema. (Het liefst in een child thema omdat de wijziging anders met de volgende thema-update ongedaan wordt gemaakt).

// functions.php: disable the sending of an email on successful WP update
add_filter( 'auto_core_update_send_email', 'wpb_stop_auto_update_emails', 10, 4 );
function wpb_stop_update_emails( $send, $type, $core_update, $result ) {
  if ( ! empty( $type ) && $type == 'success' ) {
    return false;
  }

  return true;
}

 

Installeer WooCommerce

Installeer de volgende plugins:

  • WooCommerce
  • WooCommerce Autocomplete Orders
  • application passwords

In je functions.php plaats je de volgende code:

function mysite_woocommerce_order_status_completed( $order_id ) {
  error_log( "Order complete for order $order_id", 0 );

  $postUrl = 'https://requestb.in/rfq3q1rf';
  $order = wc_get_order( $order_id );
  $user = $order->get_user();
  if( $user ){
    // do something with the user
  }

  $data['order'] = $order->get_data();
  $data['user'] = $user;
  $jsonData = json_encode($data);

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $postUrl);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json']);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);

  // receive server response ...
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

  $server_output = curl_exec ($ch);

  curl_close ($ch);
}
add_action( 'woocommerce_order_status_completed', 'mysite_woocommerce_order_status_completed', 10, 1 );