یکی از ویژگی‌های وردپرس، ثبت نامک یا Slug برای نوشته‌ها و برگه‌ها و همچنین پست‌های سفارشی است.

وردپرس

نامک عبارت کوتاهی است که برای شناسایی مطالب از یکدیگر در نشانی صفحه درج می‌شود.

چنانچه نامک یکی از صفحات منتشر شده توسط کاربر تغییر کند، وردپرس نامک قدیمی را در جدول postmeta با نام _wp_old_slug ذخیره می‌کند. ذخیره کردن نامک قدیمی می‌تواند سبب شود پیوند به صفحه‌ی مورد نظر در سایت‌های دیگر همچنان به درستی عمل کنند.

ولی در کنار این مزیت ممکن است سبب ایجاد رفتاری ناخواسته نیز شود. چنانچه مطلبی جدید با نامک قدیمی و حذف شده ایجاد کنید، امکان دسترسی به صفحه‌ی جدید وجود نخواهد داشت. زیرا اولویت نامک قدیمی بیشتر از اولویت نامک فعلی است

برای روشن تر شدن موضوع به مثال زیر توجه کنید:

کاربر صفحه‌ای با نامک content1 ایجاد می‌کند و آن را منتشر می‌کند.

کاربر نامک صفحه‌ی ایجاد شده را به content2 تغییر می‌دهد.

کاربر صفحه‌ای با نامک content1 ایجاد می‌کند.

در این مرحله باز کردن هر کدام از نامک‌های content1 یا content2 سبب می‌شود تا content2 باز شود

برای رفع این مشکل از کوئری زیر روی بانک اطلاعاتی استفاده کنید تا تمامی نامک‌های قدیمی ذخیره شده حذف شوند. بدیهی است چنانچه بخواهید نامک خاصی از بانک اطلاعاتی حذف شود، می‌بایست به صورت دستی اقدام کنید.

DELETE FROM `wp_postmeta` WHERE `meta_key` = '_wp_old_slug'

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *