post_author); $current_user_id = (int)get_current_user_id(); if ($current_user_id !== $current_post_author) { return false; } return true; } /* * upload scripts and styles on partner page * */ function partner_page_scripts_CIPF() { Plgntls::debug_infos(2); /* * if on post, load css * - to hide partner own stuff * - for states * */ if (!is_single()) { return; } Plgntls::debug_infos(); Plgntls::add_to_front(array('css/partner_page.css')); $post_id = get_the_ID(); display_states_css_CIPF($post_id); /* * then check if is partner own page * if (!is_own_partner()) { return; } */ /* * on partner own page, load css to show own stuff * */ Plgntls::add_to_front(array('css/partner_page_own.css')); } add_action('wp_enqueue_scripts', 'partner_page_scripts_CIPF', 11); /* * listen to the front button to toggle page publish/draft * */ function toggle_partner_page_CIPF() { Plgntls::debug_infos(); $toggle_partner_page = Cipf::QUERY_TOGGLE_PARTNER_PAGE; /* * check if : * - is own partner * - has query action * */ if (!is_own_partner()) { return; } Plgntls::debug_infos(); if (!isset($_GET['action'])) { return; } if ($_GET['action'] !== $toggle_partner_page) { return; } /* * get the post id and object * */ $post_id = get_the_ID(); $current_post = get_post($post_id); if (is_null($current_post)) { return; } /* * toogle the status * */ if ($current_post->post_status === 'publish') { wp_update_post(array( 'ID' => $post_id, 'post_status' => 'draft', )); set_page_draft_CIPF($post_id); } else if ($current_post->post_status === 'draft') { wp_update_post(array( 'ID' => $post_id, 'post_status' => 'publish', )); set_page_publish_CIPF($post_id); } /* * redirects without the query * */ $url = remove_query_arg('action'); wp_safe_redirect($url); exit; } //add_action('template_redirect', 'toggle_partner_page_CIPF'); /* * early checks on partner page * */ function page_partner_check_CIPF() { Plgntls::debug_infos(2); // is partner own page if (!is_own_partner()) { return; } Plgntls::debug_infos(); $post_id = get_the_ID(); $current_post = get_post($post_id); /* * checks if the acf state field is set accrodingly to page state * */ if ($current_post->post_status === 'publish') { set_page_publish_CIPF($post_id); } else if ($current_post->post_status === 'draft') { set_page_draft_CIPF($post_id); } } add_action('wp', 'page_partner_check_CIPF', 11); ?>