bitta 3211381 1920

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 ).

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht