Enable Payment on Account

/** * WooCommerce: Role-based + Guest payment methods UI + logic * * – Adds a “Payment Methods” tab under WooCommerce > Settings. * – Shows a matrix of User Roles (down the left) vs Active Payment Methods (across the…Continue reading

Roles.php

// ✅ Add “Roles” menu for shop_manager_-_reseller_admin add_action(‘admin_menu’, function () { $user = wp_get_current_user(); if (!in_array(‘shop_manager_-_reseller_admin’, (array) $user->roles)) return; add_menu_page( ‘Create Customer Role’, ‘Roles’, ‘manage_product_terms’, ‘create-customer-role’, ‘render_custom_role_form’, ‘dashicons-groups’, 56 ); }); // ✅ Render form and role list function render_custom_role_form()…Continue reading

Shop Manager – Reseller Admin.js

// ✅ Add required capabilities to shop_manager_-_reseller_admin add_action(‘init’, function () { $role = get_role(‘shop_manager_-_reseller_admin’); if ($role) { $caps = [ ‘manage_product_terms’, ‘edit_roles’, ]; foreach ($caps as $cap) { if (!$role->has_cap($cap)) { $role->add_cap($cap); } } } }); // ✅ Add Categories…Continue reading

Register New Users as Customers

function set_default_user_role_customer($user_id) { $user = new WP_User($user_id); // Check if the user has no roles (which can happen in Multisite) if (empty($user->roles)) { $user->set_role(‘customer’); } } add_action(‘user_register’, ‘set_default_user_role_customer’); function remove_subscriber_role() { remove_role(‘subscriber’); } add_action(‘init’, ‘remove_subscriber_role’);Continue reading

Nav Cat Sort by Post Count

/** * Sort Primary menu category items by post count (DESC). * Multisite-safe, cached, and preserves menu structure. */ if (!defined(‘ABSPATH’)) { exit; } // ———- Config ———- if (!defined(‘RW_PRIMARY_MENU_LOCATION’)) { define(‘RW_PRIMARY_MENU_LOCATION’, ‘primary’); // change if your theme uses a…Continue reading

META CONVERSIONS API (CAPI) — PURCHASE (SERVER-SIDE)

/** * ============================================================================= * VOELGOED — META CONVERSIONS API (CAPI) — PURCHASE (SERVER-SIDE) * ============================================================================= * – Captures fbp/fbc + IP + UA at checkout into order meta * – Sends Purchase via Conversions API when order is PAID (processing/completed)…Continue reading

META PIXEL BASE + MANUAL ADVANCED MATCHING (WooCommerce/WordPress)

/** * ============================================================================= * META PIXEL BASE + MANUAL ADVANCED MATCHING (WooCommerce/WordPress) * Pixel ID: * ============================================================================= * IMPORTANT: * – Remove any other hard-coded Meta Pixel base code (to avoid duplicates). * – Only run this if you have…Continue reading

[DO NOT PUSH] Block Formidable Form Submission when Email Exists as WP User

add_filter( ‘frm_validate_field_entry’, ‘rd_ff_block_existing_user_email’, 20, 3 ); function rd_ff_block_existing_user_email( $errors, $posted_field, $posted_value ) { // REQUIRED $form_id = 0; // Formidable form ID $email_field_id = 0; // Email field ID // OPTIONAL: meta-gated blocking $only_block_if_meta_match = true; $meta_key_to_check = ‘paying_customer’; $meta_value_to_block…Continue reading