Ich habe einen WooCommerce-Shop und möchte die Produkt-SKU im Grunde von der URL auf das zugehörige Produkt umleiten.
Also zum Beispiel für die Url domain.com/product/SKUID
sollte der Benutzer auf die folgende URL umgeleitet werden domain.com/product/product-name
oder sollte die Produktseite öffnen.
Ich habe dieses Plugin ausprobiert SKU-Shortlink für WooCommerce aber es hat dazu geführt, dass meine gesamte Website kaputt gegangen ist und ein Problem mit “zu vielen Weiterleitungen” aufgetreten ist. Jede Hilfe ist willkommen.
Dafür brauchen Sie kein Plugin … Sie können die folgende benutzerdefinierte einfache Funktion verwenden, die eingehakt ist template_redirect
Aktionshaken, von dem aus umgeleitet wird domain.com/product/SKUID
auf die zugehörige WooCommerce-Produkteinzelseite.
Der Code verwendet die eingebaute Funktion wc_get_product_id_by_sku()
um die Produkt-ID aus der Produkt-SKU abzurufen.
Wenn die Produkt-SKU mit einem vorhandenen Produkt übereinstimmt, wird der Benutzer auf die einzelne Produktseite umgeleitet.
Der Code:
add_action('template_redirect', 'sku_product_redirect');
function sku_product_redirect() {
// Get the sku string from Url
$sku = get_query_var('product');
if ( ! empty( $sku ) ) {
// Get the product Id from a product sku string
$product_id = (int) wc_get_product_id_by_sku( $sku );
if( $product_id > 0 ) {
wp_safe_redirect( get_permalink($product_id) );
exit;
}
}
}
Der Code wird in die Datei functions.php Ihres aktiven untergeordneten Designs (oder aktiven Designs) eingefügt. Getestet und funktioniert.