function hocwp_get_option_page($option_name, $slug, $option_base = 'hocwp_theme_setting', $template = '') { $page = hocwp_get_option_post($option_name, $slug, $option_base); if (!is_a($page, 'WP_Post') && !empty($template)) { $pages = hocwp_get_pages_by_template($template); if (hocwp_array_has_value($pages)) { $page = current($pages); } } if (!is_a($page, 'WP_Post')) { $page = new WP_Error(); } return apply_filters('hocwp_get_option_page', $page, $option_name, $slug, $option_base, $template); }
function hocwp_setup_theme_logout_redirect_url($url) { $page = hocwp_get_pages_by_template('page-templates/account.php', array('output' => 'object')); if (is_a($page, 'WP_Post')) { $url = get_permalink($page); $url = trailingslashit($url); $url = add_query_arg(array('loggedout' => 1), $url); } return $url; }
function hocwp_get_page_by_template($template_name) { return hocwp_get_pages_by_template($template_name, array('output' => 'object')); }
function hocwp_get_account_url($type = 'login', $action = '') { $url = ''; $page_account = hocwp_get_pages_by_template('page-templates/account.php', array('output' => 'object')); switch ($type) { case 'signup': case 'register': $page = hocwp_get_pages_by_template('page-templates/register.php', array('output' => 'object')); if (is_a($page, 'WP_Post')) { $url = get_permalink($page); } else { if (is_a($page_account, 'WP_Post')) { $url = get_permalink($page_account); $url = trailingslashit($url); $url = add_query_arg(array('action' => 'register'), $url); } } break; case 'lostpassword': if (is_a($page_account, 'WP_Post')) { $url = get_permalink($page_account); $url = trailingslashit($url); $url = add_query_arg(array('action' => 'lostpassword'), $url); } break; default: if (empty($type) || 'account' === $type) { if (is_a($page_account, 'WP_Post')) { $url = get_permalink($page_account); } } else { $page = hocwp_get_pages_by_template('page-templates/login.php', array('output' => 'object')); if (is_a($page, 'WP_Post')) { $url = get_permalink($page); } else { if (is_a($page_account, 'WP_Post')) { $url = get_permalink($page_account); $url = trailingslashit($url); if (empty($action)) { $action = 'login'; } $url = add_query_arg(array('action' => $action), $url); } } } } return $url; }