我尝试将 WooCommerce 集成到我现有的非 WordPress 网站设计中,我将 WooCommerce 放在子文件夹 (/shop) 中 并在我尝试将商店集成到我现有的网站设计之前检查商店是否完美运行,到目前为止我制作了 3 个页面,商店、购物车、结帐和带有一些代码的自定义功能插件。
商店符合我的设计,即使我缺少一些自定义样式作为按钮和一些我想要的短信。
购物车显示了我从商店放入的所有内容,但“更新购物篮”和“结帐”按钮将我发送到错误的 URL,例如
https://shop.mydomain.dk/cart.php
,甚至我的页面位于 https://www.mydomain.dk/cart.php
所以我尝试修复所有网站的 URL,但购物车将我发送到以下 URL:
https://shop.mydomain.dk/www.mydomain.dk/cart.php
我在网站设计中集成 WooCommerce 时看不到什么大问题?
<?php
define('WP_USE_THEMES', false);
require('./shop/wp-load.php');
if (!function_exists('WC')) {
die('WooCommerce er ikke aktiv');
}
function get_correct_domain() {
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http";
return $protocol . "://" . $_SERVER['HTTP_HOST'];
}
function custom_cart_url($url) {
return get_correct_domain() . '/cart.php';
}
add_filter('woocommerce_get_cart_url', 'custom_cart_url');
function custom_checkout_url($url) {
return get_correct_domain() . '/checkout.php';
}
add_filter('woocommerce_get_checkout_url', 'custom_checkout_url');
function custom_shop_url($url) {
return get_correct_domain() . '/shop.php';
}
add_filter('woocommerce_return_to_shop_redirect', 'custom_shop_url');
您可以尝试以下简化的代码版本,它将在返回商店、购物车和结账 WooCommerce 链接 (URL) 时将“shop”子域替换为“www”:
<?php
define('WP_USE_THEMES', false);
require('./shop/wp-load.php');
if (!function_exists('WC')) {
die('WooCommerce er ikke aktiv');
}
// Filter URL replacing "shop" subdomain with "www"
function replace_shop_subdomain( $url ) {
return str_replace('://shop.', '://www.', $url);
}
add_filter('woocommerce_get_cart_url', 'replace_shop_subdomain', 20, 1 );
add_filter('woocommerce_get_checkout_url', 'replace_shop_subdomain', 20, 1 );
add_filter('woocommerce_return_to_shop_redirect', 'replace_shop_subdomain', 20, 1 );
应该可以。