Entfernen / Kaufen / von WooCommerce-URLs

Nov 26 2020

Derzeit habe ich eine WooCommerce-Installation, in der Produkt-URLs als solche erstellt werden:

domain.com/shop/product-category/product-name/

Aufgrund der Suchmaschinenoptimierung und der aktuellen Site-Struktur möchte ich Folgendes ändern:

domain.com/product-category/product-name/

Ich weiß, wie man mit dem Filter woocommerce_get_breadcrumb den Shop aus dem Breadcrumb entfernt, bin mir aber nicht sicher, wie ich mit den URLs selbst vorgehen soll.

Alles, was ich bei Stack Overflow gefunden habe, sind Leute, die empfehlen, ein Plugin namens Premmerce zu installieren. Dieses Plugin hat eine Premium-Version und Sie müssen ständig ein Upgrade durchführen: Entfernen / Produktkategorie / und / Shop / von der URL in WooCommerce

Ich möchte dies programmgesteuert über mein eigenes Plugin oder einfach über functions.php tun

Antworten

Sefam Nov 28 2020 at 02:40

WooCommerce zwingt / product / auf Sie, wenn Sie versuchen, /% product_cat% / nur im Permalink-Bedienfeld über class-wc-admin-permalink-settings.php einzugeben. Die wc-Permalinks sind eine Option namens "woocommerce_permalinks". Da ich nur /% product_cat% / haben möchte, kann ich es einfach erzwingen, obwohl es nicht die eleganteste Lösung ist:

add_action( "update_option_woocommerce_permalinks", "apply_product_cat", 10, 3 );

function apply_product_cat( $old_val, $new_val, $option_name ) { if ($option_name == "woocommerce_permalinks") {
        $new_val['product_base'] = "/%product_cat%/"; update_option( "woocommerce_permalinks", $new_val );
    }
}

Premmerce bietet Ihnen effektiv ein weiteres Admin-Panel an, in dem sie nur selbst in dieser Option speichern.