126 lines
2.2 KiB
PHP
126 lines
2.2 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;
|
|
}
|
|
);
|
|
}
|
|
|
|
/**
|
|
* 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;
|
|
}
|
|
|
|
if ( ! is_a($post, '\WP_Post')) {
|
|
return false;
|
|
}
|
|
|
|
return absint(wu_guess_registration_page()) === $post->ID;
|
|
}
|
|
|
|
/**
|
|
* 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;
|
|
}
|
|
|
|
if ( ! is_a($post, '\WP_Post')) {
|
|
return false;
|
|
}
|
|
|
|
return absint(wu_get_setting('default_update_page', 0)) === $post->ID;
|
|
}
|
|
|
|
/**
|
|
* 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;
|
|
}
|
|
|
|
if ( ! is_a($post, '\WP_Post')) {
|
|
return false;
|
|
}
|
|
|
|
return absint(wu_get_setting('default_new_site_page', 0)) === $post->ID;
|
|
}
|
|
|
|
/**
|
|
* 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 = 'wp-login.php' === $pagenow;
|
|
|
|
return $is_login_element_present || $is_default_wp_login;
|
|
}
|