wip author page checks, waiting page redirection working

This commit is contained in:
asus
2024-03-07 17:50:45 +01:00
parent d65af4cd43
commit 31c3ed55f4
4 changed files with 50 additions and 22 deletions

View File

@@ -10,35 +10,43 @@ if (!defined('ABSPATH')) {
function check_prof_page_CIPF() {
// is an author page
if (!is_author())
return;
error_log("in check_prof_page_CIPF");
// the way to find the id of the author of an author_page
$author_id = get_queried_object_id();
// is_prof_activ_CIPF($author_id);
}
add_action('template_redirect', 'check_prof_page_CIPF');
function is_prof_activ_CIPF($author_id) {
function handle_prof_is_activ_CIPF($author_id) {
$acf_prof_is_activ = PLGNTLS_class::ACF_PROF_IS_ACTIV;
$slug_wait_activation = PLGNTLS_class::SLUG_PROF_INACTIV;
//$current_user = wp_get_current_user();
//$user_id = get_current_user_id();
//$acf_id = 'user_' . $user_id;
error_log("in handle_prof_is_activ_CIPF");
$acf_id = 'user_' . $author_id;
/*
* if prof is activ, do nothing more
*
*/
error_log("is activ ?");
$is_activ = get_field($acf_prof_is_activ, $acf_id);
if ($is_activ === 'Actif')
return;
error_log("...is inactiv");
/*
* else if prof inactiv
* if is admin or other allowed roles, see the page anyway
* no need to handle allowed roles, it's already
* taken care by author_restriction.php
*
*/
$user_id = get_current_user_id();
if ($user_id !== $author_id)
return;
/*
* if prof is activ
* redirect to waiting page
*
*/
$redirection_prof_inactiv = home_url() . '/' . $slug_wait_activation;
error_log("redirection_prof_inactiv");
error_log($redirection_prof_inactiv);
@@ -49,4 +57,23 @@ function is_prof_activ_CIPF($author_id) {
/*
* series of check to do before printing a prof author page
*
*/
function check_prof_page_CIPF() {
// is an author page
if (!is_author())
return;
error_log("in check_prof_page_CIPF");
// the way to find the id of the author of an author_page
$author_id = get_queried_object_id();
handle_prof_is_activ_CIPF($author_id);
}
add_action('template_redirect', 'check_prof_page_CIPF', 11);
?>