ممکنه برای شما هم پیش اومده باشه که به دلایلی بخصوص بحث سئو ترجیح بدید که آدرس صفحات محصولات سایت فروشگاهیتون که با وردپرس و پلاگین ووکامرس ایجاد شده کوتاهتر بشن و /product/ از اونها حذف بشه.
راههای مختلفی برای انجام این کار هست و پلاگینهایی هم عرضه شده، اما من به شخصه استفاده از پلاگین رو نمیپسندم چون دردسرهای خاص خودش رو داره. راهکاری که همکارم آقای محمد جمالو در این خصوص به من ارائه کرد اضافه کردن فانکشن حذف این بخش از آدرس توی فایل functions.php از پوشه تم سایت وردپرسی شماست.
کافیه کد زیر رو به انتهای فایل functions.php قالبتون اضافه کنید.
function remove_cpt_slug( $post_link, $post, $leavename ) { if ( 'product' != $post->post_type || 'publish' != $post->post_status ) { return $post_link; } $post_link = str_replace( '/' . $post->post_type . '/', '/', $post_link ); return $post_link; } add_filter( 'post_type_link', 'remove_cpt_slug', 10, 3 ); function parse_request_trick( $query ) { if ( ! $query->is_main_query() ) return; if ( 2 != count( $query->query ) || ! isset( $query->query['page'] ) ) { return; } if ( ! empty( $query->query['name'] ) ) { $query->set( 'post_type', array( 'post', 'page', 'product' ) ); } } add_action( 'pre_get_posts', 'parse_request_trick' );
نکته خیلی خیلی مهم >> بعد از این کار حتما مراقب باشید که آدرس پیوند یکتای پستها و محصولاتتون یکی نباشه، چون تداخل پیش میاد و صفحهی مورد نظر تو اون آدرس نمایش داده نمیشه
آفرین و ممنون از شما دوست عزیز
سلام
من این کد رو قرار دادم url ها عوض شد ولی وقتی رو محصول کلیم می کنم ارور 404 میده!
این مطلب رو من سه سال پیش نوشتم، حقیقتش امتحان نکردم با نسخههای جدید وردپرس ووکامرس کار میکنه یا نه