Der Beitrag, geschriebem am 9. März 2020, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein
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