توی وب سایت های فروشگاهی که با ووکامرس ایجاد شده باشند در لینک هر محصول کلمه product بلافاصله بعد از دومین سایت در لینک محصول میاد و اگر نیاز باشه که این کلمه در لینک محصول حذف بشه و لینک محصول کوتاه تر بشه باید این کد رو به فایل فانکشن قالب اضافه کنید.
برای حذف کلمه product در لینک محصولات ووکامرس می تونیم از کد زیر استفاده کنیم . این کد رو می تونید به فایل فانکشن قالب سایت اضافه کنید و یا اگر قالب سایت شما دارای چایلد تم هست این کد رو به فایل فانکشن چایلد تم اضافه کنید . اگر قالب سایت شما چایلد تم نداره و می خواید این چایلد تم رو به قالب سایت اضافه کنید می تونید راهنمای ایجاد چایلد تم رو بخویند و طبق راهنمای اون چایلد تم ایجاد کنید.
برای اینکه کلمه product رو از لینک محصولات ووکامرس حذف کنیم این رو به فانکشن اضافه می کنیم و تمام .
function na_remove_slug( $post_link, $post, $leavename ) { if ( 'product' != $post->post_type || 'publish' != $post->post_status ) { return $post_link; } $post_link = str_replace( '/product/', '/', $post_link ); return $post_link; } add_filter( 'post_type_link', 'na_remove_slug', 10, 3 ); function change_slug_struct( $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' ) ); } elseif ( ! empty( $query->query['pagename'] ) && false === strpos( $query->query['pagename'], '/' ) ) { $query->set( 'post_type', array( 'post', 'product', 'page' ) ); // We also need to set the name query var since redirect_guess_404_permalink() relies on it. $query->set( 'name', $query->query['pagename'] ); } } add_action( 'pre_get_posts', 'change_slug_struct', 99 );