Shop pages
Awesome
Filters area
Mit diesem WordPress WooCommerce Fix können Sie den Slug der Produktkategorie aus der URL in WordPress WooCommerce entfernen, ohne ein Plugin zu verwenden.
Beispiel:
Von: https://mywebshop.com/shop/product-category/apparel/black-pants
An: https://mywebshop.com/shop/apparel/black-pants
Es gibt mehrere Wege die nicht gut aussehenden und für GOOGLE SEO nicht relevanten Slugs aus der URL zu entfernen. Ich werde euch aber einen kostenlosen Weg zeigen.
Ein berühmtes Plugin von Maciejbis namens Permalink Manager kann das. Doch will der Anbieter unverschämte 95 Dollar für Lifetime und 45 Dollar für ein Jahr haben. Stand 12/2020. Doch wer will schon knappe 100 € für ein Plugin ausgeben, welches nur die URL (Permalink) verkürzen kann. Somit habe ich mich auf die Suche gemacht, wie man dies günstiger bzw. kostenlos lösen kann.
— Jetzt günstige Google Bewertungen kaufen!
Ein Plugin Lösung wäre Rankmath was eigentlich für SEO Optimierung der WordPress Seite gedacht ist. Also wer aktuell kein SEO-Optimierung-Plugin hat, könnte getrost direkt Rankmath installieren. Abgesehen von Permalink Produkt und Kategorie Slug Entfernung würde ich Rankmath Yoast Plugin vorziehen.
Wie oben auf dem Bild zu sehen, kann man direkt per Mausklick das Produkt und Kategorie Slug entfernen.
— Jetzt deutsche Backlinks kaufen! Günstig von unserer SEO-Agentur
Jetzt kommen wir zum eigentlichen Teil dieses Beitrags. Ihr könnt den Produkt-Slug bzw. Kategorie-Slug im URL auch ohne ein Plugin mit wenig Fachkenntnis mit functions.php entferne.
Dafür geht ihr in eurem Theme in den Ordner (bei manchen Theme-Child) und findet die Datei functions.php. Hier ist jetzt eine kleine Änderung bzw. Ergänzung notwendig.
Wo finde ich ich die functions.php Datei:
Entweder im WordPress Admin Design > Theme Editor „ist aber bei vielen WordPress installationen sinngemäß abgeschaltet“
Oder. FTP /wp-content/themes/deintheme
// Woocommerce Produkt-Slug und Kategorie Slug entfernen
add_filter( 'request', 'change_requerst_vars_for_product_cat' );
add_filter( 'term_link', 'term_link_filter', 10, 3 );
add_filter( 'post_type_link', 'wpp_remove_slug', 10, 3 );
add_action( 'pre_get_posts', 'wpp_change_request' );
function change_requerst_vars_for_product_cat($vars) {
global $wpdb;
if ( ! empty( $vars[ 'pagename' ] ) || ! empty( $vars[ 'category_name' ] ) || ! empty( $vars[ 'name' ] ) || ! empty( $vars[ 'attachment' ] ) ) {
$slug = ! empty( $vars[ 'pagename' ] ) ? $vars[ 'pagename' ] : ( ! empty( $vars[ 'name' ] ) ? $vars[ 'name' ] : ( ! empty( $vars[ 'category_name' ] ) ? $vars[ 'category_name' ] : $vars[ 'attachment' ] ) );
$exists = $wpdb->get_var( $wpdb->prepare( "SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s", array( $slug ) ) );
if ( $exists ) {
$old_vars = $vars;
$vars = array( 'product_cat' => $slug );
if ( ! empty( $old_vars[ 'paged' ] ) || ! empty( $old_vars[ 'page' ] ) ) {
$vars[ 'paged' ] = ! empty( $old_vars[ 'paged' ] ) ? $old_vars[ 'paged' ] : $old_vars[ 'page' ];
}
if ( ! empty( $old_vars[ 'orderby' ] ) ) {
$vars[ 'orderby' ] = $old_vars[ 'orderby' ];
}
if ( ! empty( $old_vars[ 'order' ] ) ) {
$vars[ 'order' ] = $old_vars[ 'order' ];
}
}
}
return $vars;
}
function term_link_filter( $url, $term, $taxonomy ) {
$url = str_replace( "/product-category/", "/", $url );
return $url;
}
function wpp_remove_slug( $post_link, $post, $name ) {
if ( 'product' != $post->post_type || 'publish' != $post->post_status ) {
return $post_link;
}
$post_link = str_replace( '/' . $post->post_type . '/', '/', $post_link );
return $post_link;
}
function wpp_change_request( $query ) {
if ( ! $query->is_main_query() || 2 != count( $query->query ) || ! isset( $query->query[ 'page' ] ) ) {
return;
}
if ( ! empty( $query->query[ 'name' ] ) ) {
$query->set( 'post_type', array( 'post', 'product', 'page' ) );
}
}
Nach dem Einfügen Cache löschen und die Webseite Reloaden. Das wäre es eigentlich schon. Viel Spaß mit WordPress und WooCommerce!
Bitte hinterlässt eure Kommentare. Fragen könnt ihr einfach als Kommentar ausführen!
No account yet?
Create an Account