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 ermittelt werden ( z.B. flxo_get_product_base_link() . $product_name
).
Schreibe einen Kommentar