dont' redirect if user not logged in, because new users need to acces this page * if (!is_user_logged_in()) { // Set up nocache headers before redirecting : https://developer.wordpress.org/reference/functions/wp_safe_redirect/#user-contributed-notes nocache_headers(); wp_redirect($base_url, 301); exit; } */ $current_user_id = get_current_user_id(); $current_user = wp_get_current_user(); $acf_id = 'user_'.$current_user_id; /* * check multiple user roles * https://developer.wordpress.org/reference/functions/current_user_can/#div-comment-4083 * $allowed_roles = array($role_admin, $role_fipf, $role_prof); if (!array_intersect($allowed_roles, $current_user->roles)) return; */ /* * if prof, check card state * if cannot renew, redirect * if (current_user_can($role_prof)) { $can_renew = get_field($acf_prof_can_renew['_name'], $acf_id); if ($can_renew === false) { // Set up nocache headers before redirecting : https://developer.wordpress.org/reference/functions/wp_safe_redirect/#user-contributed-notes nocache_headers(); $redirect_url = home_url() . '/' . $slug_page_redirection; wp_redirect($redirect_url, 301); exit; } } */ } add_action('template_redirect', 'prof_form_restrictions_CIPF'); /* * enqueue scripts on page prof * * on the renew card page for prof * output the right message, depending of the status of the card * 'renouveler' or 'commander' * * #cipf_prof_carte_commande -> default display: block; * #cipf_prof_carte_renouvellement -> default display: none; * */ function renew_page_filter_message_CIPF(){ PLGNTLS_class::debug_infos(); $slug_renew_card = PLGNTLS_class::SLUG_RENEW_CARD; $acf_card_state = PLGNTLS_class::ACF_CARD_STATE; if (!is_page($slug_renew_card)) return; $user_id = get_current_user_id(); $acf_id = 'user_'.$user_id; $cipf_renew = new PLGNTLS_class(); $card_state = get_field($acf_card_state['_name'], $acf_id); if ($card_state === 'Renouvellement') { $cipf_renew->add_to_front(array( array( 'css' => 'div#cipf_prof_carte_renouvellement {display: block;}' ), array( 'css' => 'div#cipf_prof_carte_commande {display: none;}' ), )); } } add_action('wp_enqueue_scripts', 'renew_page_filter_message_CIPF'); ?>