Hello,
I am making a custom button that would appear if a user is a patreon member, but for some reason it fails to load user pledge, if I set the pledge to 0 it shows the button, but when ever I set it to like $1 or more it doesn’t work,
Code:
// Sync Patreon pledge data on all login types
function force_refresh_user_pledge_meta($user_data) {
if (!isset($user_data['user']) || !isset($user_data['user_response'])) {
return;
}
$user = $user_data['user'];
$user_response = $user_data['user_response'];
// Use currently_entitled_amount_cents instead of patron_amount_cents
if (isset($user_response['currently_entitled_amount_cents'])) {
$pledge_cents = intval($user_response['currently_entitled_amount_cents']);
update_user_meta($user->ID, 'patreon_pledge_amount_cents', $pledge_cents);
}
}
add_action('patreon_do_action_after_user_logged_in_via_patreon', 'force_refresh_user_pledge_meta', 10, 1);
add_action('patreon_do_action_after_new_user_created_from_patreon_logged_in', 'force_refresh_user_pledge_meta', 10, 1);
add_action('patreon_do_action_after_existing_user_from_patreon_logged_in', 'force_refresh_user_pledge_meta', 10, 1);
add_action('patreon_do_action_after_wp_logged_user_is_updated', 'force_refresh_user_pledge_meta', 10, 1);
// Debug version of shortcode to check what's working
function show_4k_button_redirect_if_needed() {
$user = wp_get_current_user();
$pledge_cents = get_user_meta($user->ID, 'patreon_pledge_amount_cents', true);
$file_url = get_field('4k_video_url');
$is_logged_in = is_user_logged_in();
ob_start();
echo '<div style="border:2px dashed red; padding:10px; font-family:monospace; background:#fff;">';
echo '<strong>🔍 Patreon Debug Info</strong><br>';
echo 'Username: ' . esc_html($user->user_login) . '<br>';
echo 'User ID: ' . esc_html($user->ID) . '<br>';
echo 'Logged In: ' . ($is_logged_in ? '✅ Yes' : '❌ No') . '<br>';
echo 'Pledge Cents (meta): ' . esc_html($pledge_cents) . '<br>';
echo '4K Video URL (acf): ' . esc_html($file_url) . '<br>';
echo '</div>';
return ob_get_clean();
}
add_shortcode('show_4k_button', 'show_4k_button_redirect_if_needed');