Alternative History
Showing the single result
/**
* Astra Child Theme functions and definitions
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*
* @package Astra Child
* @since 1.0.0
*/
/**
* Define Constants
*/
define( 'CHILD_THEME_ASTRA_CHILD_VERSION', '1.0.0' );
/**
* Enqueue styles
*/
function child_enqueue_styles() {
wp_enqueue_style( 'astra-child-theme-css', get_stylesheet_directory_uri() . '/style.css', array('astra-theme-css'), CHILD_THEME_ASTRA_CHILD_VERSION, 'all' );
}
add_action( 'wp_enqueue_scripts', 'child_enqueue_styles', 15 );
/*
* SLACK NOTIFICATION
* */
add_action('woocommerce_thankyou', 'notify_slack_new_order', 10, 1);
function notify_slack_new_order($order_id) {
if (!$order_id) return;
$order = wc_get_order($order_id);
$webhook_url = 'https://hooks.slack.com/services/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'; // Replace with your webhook
// Get customer info
$customer_name = $order->get_formatted_billing_full_name();
$totalStrip = wp_strip_all_tags($order->get_formatted_order_total());
$total = preg_replace('$', "$", $totalStrip);
// Get product details
$items = $order->get_items();
$product_lines = [];
foreach ($items as $item) {
$product_lines[] = $item->get_name() . ' × ' . $item->get_quantity();
}
$product_list = implode("\n• ", $product_lines);
// Get shipping address
$shipping_address_html = $order->get_formatted_shipping_address();
if ($shipping_address_html) {
$shipping_address_text = preg_replace('/
/i', "\n", $shipping_address_html);
$shipping_address = wp_strip_all_tags($shipping_address_text);
} else {
$shipping_address = 'No shipping address';
}
// Build Slack message
$message = [
'text' => "*🛒 New Order From Blueprint Press Internationale*\n" .
"*Order #:* {$order_id}\n" .
"*Customer:* {$customer_name}\n" .
"*Total:* {$total}\n" .
"*Products:*\n• {$product_list}\n" .
"*Shipping Address:*\n{$shipping_address}"
];
wp_remote_post($webhook_url, [
'body' => json_encode($message),
'headers' => ['Content-Type' => 'application/json'],
]);
}
Showing the single result