/** * 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'], ]); } Blog - Page 42 of 49 - Blueprint Press Internationale

Distinction Between Science Fiction and Fantasy Fiction

Why is it necessary to identify your novel as science fiction or fantasy fiction? One of the most compelling reasons is marketing. Literary agents and book publishers will want you to define the genre in which your work falls concisely. Additionally, suppose you want to create a narrative. In that case, you will undoubtedly discover

Distinction Between Science Fiction and Fantasy Fiction Read More »

Internal and External Conflict: How to Create Iconic Characters

How do you maintain the reader’s attention till the very end? A great narrative is propelled by good conflict. It is a massive hit among readers—the greater the conflict, the greater the story. Conflict is an essential component of every excellent narrative. Without a conflict between opposing forces, your protagonist will remain unchanged and will

Internal and External Conflict: How to Create Iconic Characters Read More »

Differences of Long Run Printing, Short-Run Printing, and Print-on-Demand

Finally, your book is ready for publication. You have spent months or years laboring over your material and selecting the right design flourishes that proclaim “this is my book.” Now comes one of the most thrilling selections- the moment in which your book becomes a tangible object that you can touch in your hands. You

Differences of Long Run Printing, Short-Run Printing, and Print-on-Demand Read More »

Shopping Cart