Files
wp-multisite-waas/inc/functions/pages.php
2024-11-30 18:24:12 -07:00

146 lines
2.4 KiB
PHP

<?php
/**
* Pages Functions
*
* @package WP_Ultimo\Functions
* @since 2.0.11
*/
// Exit if accessed directly
defined('ABSPATH') || exit;
/**
* Guess the id of the registration page.
*
* @since 2.1.0
* @return int|false
*/
function wu_guess_registration_page() {
return wu_switch_blog_and_run(function() {
$saved_register_page_id = wu_get_setting('default_registration_page', 0);
$page = get_post($saved_register_page_id);
if ($page) {
return $page->ID;
}
$maybe_register_page = get_page_by_path('register');
if ($maybe_register_page && has_shortcode($maybe_register_page->post_content, 'wu_checkout') && $maybe_register_page->post_status === 'publish') {
wu_save_setting('default_registration_page', $maybe_register_page->ID);
function_exists('flush_rewrite_rules') && flush_rewrite_rules(true);
return $maybe_register_page->ID;
}
return false;
});
} // end wu_guess_registration_page;
/**
* Checks if the current post is a registration page.
*
* @since 2.0.0
* @return boolean
*/
function wu_is_registration_page() {
/** @var \WP_Post|null $post */
global $post;
if (!is_main_site()) {
return false;
} // end if;
if (!is_a($post, '\WP_Post')) {
return false;
} // end if;
return absint(wu_guess_registration_page()) === $post->ID;
} // end wu_is_registration_page;
/**
* Checks if the current post is a update page.
*
* @since 2.0.21
* @return boolean
*/
function wu_is_update_page() {
global $post;
if (!is_main_site()) {
return false;
} // end if;
if (!is_a($post, '\WP_Post')) {
return false;
} // end if;
return absint(wu_get_setting('default_update_page', 0)) === $post->ID;
} // end wu_is_update_page;
/**
* Checks if the current post is a new site page.
*
* @since 2.0.21
* @return boolean
*/
function wu_is_new_site_page() {
global $post;
if (!is_main_site()) {
return false;
} // end if;
if (!is_a($post, '\WP_Post')) {
return false;
} // end if;
return absint(wu_get_setting('default_new_site_page', 0)) === $post->ID;
} // end wu_is_new_site_page;
/**
* Checks if the current page is a login page.
*
* @since 2.0.11
* @return bool
*/
function wu_is_login_page() {
global $pagenow;
$is_login_element_present = \WP_Ultimo\UI\Login_Form_Element::get_instance()->is_actually_loaded();
$is_default_wp_login = $pagenow === 'wp-login.php';
return $is_login_element_present || $is_default_wp_login;
} // end wu_is_login_page;