Missing /Stories SLUG

add_action(‘template_redirect’, function () { if (is_admin()) return; global $wp; $request_path = trim($wp->request, ‘/’); // Skip if already under /stories/ if (strpos($request_path, ‘stories/’) === 0) return; // Only run on 404s (old URLs) if (is_404()) { // Extract slug (last part…Continue reading

Search for Dance by Name

function dance_search_shortcode() { global $wpdb; // 🔧 CHANGE THIS $table = $wpdb->prefix . ‘nwdances’; // Detect admin for debug output $is_admin_user = current_user_can(‘manage_options’); ob_start(); echo ‘ ‘; echo ‘‘; echo ‘Search‘; echo ‘ ‘; // Default to empty string (shows…Continue reading

URL router + rewrite rules

/** * ============================================================ * COMPANY DASHBOARD ROUTING (CLEAN + UPDATED) * ============================================================ * URLs: * /{company-slug}/ → /dashboard/?c={company-slug} * /{company-slug}/admin/ → /company-admin/?c={company-slug}&admin=1 * /{company-slug}/login/ → /company-login/?c={company-slug} * * Dashboard page slug: “dashboard” * Admin page slug: “company-admin” * Login page…Continue reading

Productview Google ads + Promo

add_action( ‘woocommerce_before_add_to_cart_form’, ‘roaslink_gestion_premium_v11’, 15 ); function roaslink_gestion_premium_v11() { if ( ! function_exists( ‘is_product’ ) || ! is_product() ) return; global $post; if ( ! $post || ( $post->post_name !== ‘google_ads’ && ! has_term( ‘google_ads’, ‘product_cat’, $post->ID ) ) ) return;…Continue reading

Working other than beyond limit

// Cart total AJAX handler add_action(‘wp_ajax_get_cart_total’, ‘ajax_get_cart_total’); add_action(‘wp_ajax_nopriv_get_cart_total’, ‘ajax_get_cart_total’); function ajax_get_cart_total() { WC()->cart->calculate_totals(); $ex_vat_total = 0; $inc_vat_total = 0; foreach (WC()->cart->get_cart() as $cart_item) { $line_total = $cart_item[‘line_total’]; $line_tax = $cart_item[‘line_tax’]; $ex_vat_total += $line_total; $inc_vat_total += $line_total + $line_tax; } echo…Continue reading