示例#1
0
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;
}
示例#3
0
function hocwp_get_page_by_template($template_name)
{
    return hocwp_get_pages_by_template($template_name, array('output' => 'object'));
}
示例#4
0
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;
}