[IN PROGRESS] Inject data-product-tags into all products

add_action(‘woocommerce_before_single_product’, function () { global $post; if (!is_product()) return; $product = wc_get_product($post->ID); if (!$product) return; $tags = wp_get_post_terms($post->ID, ‘product_tag’, [‘fields’ => ‘names’]); $tag_string = !empty($tags) ? esc_attr(implode(‘, ‘, $tags)) : ”; echo ‘Continue reading

more feater

add_shortcode(‘product_features_boxes’, function () { if (!function_exists(‘wc_get_product’)) { return ”; } global $product; if (!$product || !is_a($product, ‘WC_Product’)) { $product = wc_get_product(get_the_ID()); } if (!$product) { return ”; } $attributes = $product->get_attributes(); if (empty($attributes)) { return ”; } $items = array();…Continue reading

EA – Elementor Hooks Fallback

/** * EA Elementor Hooks Fallback * * Prevents Essential Addons frontend scripts from breaking custom JS * when they reference window.elementor.hooks before Elementor has fully * initialized. * * Required for: * – Hero card scroll behavior * –…Continue reading

Notifications – Content Loader

/** * Notification Panel Content Loader * * Loads the Elementor template with the slug: * notification-container * * This template contains the Notification Listing Grid and * is injected into a hidden container for the global * notification panel.…Continue reading

Notifications – Count Shortcode

add_shortcode(‘site_notification_count’, function () { $today = current_time(‘timestamp’); $query = new WP_Query(array( ‘post_type’ => ‘notification’, ‘post_status’ => ‘publish’, ‘posts_per_page’ => -1, ‘fields’ => ‘ids’, ‘meta_query’ => array( ‘relation’ => ‘AND’, array( ‘key’ => ‘notification_active’, ‘value’ => ‘show’, ‘compare’ => ‘=’ ),…Continue reading

Notifications – Color Variables

/** * Notifications – Color Variables * * Reads notification color settings from the JetEngine * Site Features options page and outputs CSS variables. * * JetEngine Options Page: * – Storage: Default as array * * Expected field keys:…Continue reading

Untitled Snippet

‘options’ => array( ” => ‘Maak een keuze’, ‘Google’ => ‘Google’, ‘Via Marktplaats’ => ‘Via Marktplaats’, ‘ChatGPT’ => ‘ChatGPT’, ‘Facebook’ => ‘Facebook’, ‘Instagram’ => ‘Instagram’, ‘Via een vriend of kennis’ => ‘Via een vriend of kennis’, ‘Anders’ => ‘Anders’, ),Continue reading