bitta 3211381 1920
Bild von Luisella Planeta Leoni auf Pixabay

WooCommerce Product-Basis-Link ermitteln

In einer doch schon recht speziellen Anforderung war es erforderlich, von einem bekannten Produktslug auf den Produktlink zu kommen. Dafür braucht es den Basislink für WooCommerce-Produkte.

Der lässt sich über die WooCommerce-Permalink-Einstellungen ermitteln.

Enweder mit

$wc_options = get_option('woocommerce_permalinks');

oder

$wc_options = wc_get_permalink_structure();
Array
(
    [product_base] => /product
    [category_base] => product-category
    [tag_base] => product-tag
    [attribute_base] => 
    [use_verbose_page_rules] => 1
    [product_rewrite_slug] => /product
    [category_rewrite_slug] => product-category
    [tag_rewrite_slug] => product-tag
    [attribute_rewrite_slug] => 
)

Die Produktbasis ist also $wc_options['product_base'] . Dieser muss nun nur noch mit der Site-URL ergänzt werden, um als Ergebnis einen (selbst nicht aufrufbaren) Link in dieser Form zu liefern:

https://beispielsite.com/product/

function flxo_get_product_base_link() {
	$wc_options = get_option('woocommerce_permalinks');
	return trailingslashit( site_url() . $wc_options['product_base'] );
}

Ausgehend von dieser Funktion kann nun für jeden Produktslug (product_name) die URL ermittel werden ( z.B. flxo_get_product_base_link() . $product_name ).

Kommentar schreiben

E-Mail-Adresse wird nicht veröffentlicht.

Overlay background for modal content