/**
 * CloudPeakWay Child Theme Functions
 * Adds x-default hreflang and custom language switcher
 */

// Add x-default hreflang tag
add_filter("pll_rel_hreflang_attributes", function($hreflangs) {
    if (!isset($hreflangs["x-default"])) {
        $hreflangs["x-default"] = home_url("/");
    }
    return $hreflangs;
});

// Custom language switcher shortcode
add_shortcode("cpw_language_switcher", function() {
    if (!function_exists("pll_the_languages")) return "";
    $languages = pll_the_languages(array("raw" => true));
    if (empty($languages)) return "";
    $current = pll_current_language();
    $output = '<div class="cpw-lang-switcher">';
    $output .= '<button class="cpw-lang-btn current">' . esc_html(strtoupper($current)) . '</button>';
    $output .= '<ul class="cpw-lang-dropdown">';
    foreach ($languages as $lang) {
        if ($lang["slug"] === $current) continue;
        $output .= sprintf(
            '<li><a href="%s" hreflang="%s">%s %s</a></li>',
            esc_url($lang["url"]),
            esc_attr($lang["locale"]),
            $lang["flag"],
            esc_html($lang["name"])
        );
    }
    $output .= '</ul></div>';
    return $output;
});

// Inject CSS
add_action("wp_head", function() {
    echo '<style>
.cpw-lang-switcher {
    position: relative;
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    z-index: 9999;
}
.cpw-lang-btn {
    background: rgba(0,61,107,0.9);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 4px;
    padding: 6px 14px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: all 0.2s;
}
.cpw-lang-btn:hover { background: #003d6b; border-color: #0078d7; }
.cpw-lang-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 180px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    padding: 6px 0;
    margin: 4px 0 0 0;
    list-style: none;
}
.cpw-lang-switcher:hover .cpw-lang-dropdown,
.cpw-lang-dropdown:hover { display: block; }
.cpw-lang-dropdown li { margin: 0; padding: 0; }
.cpw-lang-dropdown a {
    display: block;
    padding: 8px 16px;
    color: #333;
    text-decoration: none;
    font-size: 13px;
    transition: background 0.15s;
    white-space: nowrap;
}
.cpw-lang-dropdown a:hover { background: #f0f4f8; color: #003d6b; }
.cpw-lang-header { display: flex; align-items: center; margin-left: 16px; }
.cpw-lang-footer { text-align: center; margin-top: 12px; }
@media (max-width: 768px) {
    .cpw-lang-header { margin-left: 0; margin-top: 8px; }
}
</style>';
});

// Add to header
add_action("astra_masthead_content", function() {
    echo '<div class="cpw-lang-header">';
    echo do_shortcode("[cpw_language_switcher]");
    echo '</div>';
}, 99);

// Add to footer
add_action("astra_footer_after", function() {
    echo '<div class="cpw-lang-footer">';
    echo do_shortcode("[cpw_language_switcher]");
    echo '</div>';
}, 99);
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://cloudpeakway.com/wp-sitemap.xsl" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://cloudpeakway.com/zh/home-2/</loc><lastmod>2026-07-26T03:46:53+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/home-3/</loc><lastmod>2026-07-26T03:47:31+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/home-4/</loc><lastmod>2026-07-26T03:47:53+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/home-6/</loc><lastmod>2026-07-26T04:00:07+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/%e6%9c%8d%e5%8a%a1%e6%a6%82%e8%a7%88/</loc><lastmod>2026-07-26T05:08:36+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/%e5%9b%bd%e9%99%85%e5%bf%ab%e9%80%92/</loc><lastmod>2026-07-26T05:08:37+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/%e4%bb%93%e5%82%a8%e4%b8%8e%e9%9b%86%e8%b4%a7/</loc><lastmod>2026-07-26T05:08:38+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/%e6%8a%a5%e5%85%b3%e4%b8%8eddp/</loc><lastmod>2026-07-26T05:08:39+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/%e7%9b%ae%e7%9a%84%e5%9c%b0%e4%b8%8e%e6%8a%a5%e4%bb%b7/</loc><lastmod>2026-07-26T05:08:40+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/%e8%8e%b7%e5%8f%96%e6%8a%a5%e4%bb%b7/</loc><lastmod>2026-07-26T05:08:41+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/%e8%b5%84%e6%ba%90%e4%b8%8e%e5%8d%9a%e5%ae%a2/</loc><lastmod>2026-07-26T05:08:43+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/%e5%85%b3%e4%ba%8e%e6%88%91%e4%bb%ac/</loc><lastmod>2026-07-26T05:08:35+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/%e8%81%94%e7%b3%bb%e6%88%91%e4%bb%ac/</loc><lastmod>2026-07-26T05:08:43+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/home-5/</loc><lastmod>2026-07-26T03:49:20+08:00</lastmod></url><url><loc>https://cloudpeakway.com/zh/home-7/</loc><lastmod>2026-07-26T05:22:55+08:00</lastmod></url></urlset>
