در وردپرس، چند افزونه وجود دارد که استفاده میکنید که از شما میخواهد یک کد کوتاه مانند [some-random-shortcode] را در پست خود قرار دهید. یکی از معایب استفاده از افزونه یا تم متکی به کدهای کوتاه این است که وقتی یک تم را تغییر میدهید یا افزونه را غیرفعال میکنید، برچسبهای کد کوتاهی را در پستهای شما باقی میگذارند که برای خوانندگان شما عجیب به نظر میرسد. در این مقاله، پویاسازان نحوه یافتن و حذف کدهای کوتاه استفاده نشده از پست ها و صفحات وردپرس را به شما نشان می دهد.
اگر یک کد کوتاه غیرفعال در سایت خود دارید، در محتوا به شکل زیر خواهد بود:
کد کوتاه را از پایگاه داده حذف کنید
پویاسازان به کاربران مبتدی توصیه نمی کند که جستجوی SQL را مستقیماً در پایگاه داده وردپرس خود اجرا کنند.
اگر میدانید کدام نوع کد کوتاه را میخواهید حذف کنید و میخواهید آن را برای همیشه از پایگاه داده خود حذف کنید، فقط باید یک جستجوی SQL را با دستور زیر اجرا کنید:
; UPDATE wp_post SET post_content = REPLACE(post_content, ‘[shortcodename]’, ” )
«نام کوتاه» را با کد کوتاهی که میخواهید حذف کنید، جایگزین کنید.
توجه: این یک روش بیخطر نیست، زیرا کدهای کوتاه مختلف میتوانند دارای ویژگیها و مقادیر متفاوتی باشند.
فراموش نکنید که قبل از اجرای کوئری بالا از پایگاه داده پشتیبان تهیه کنید. پس از حذف همه کدهای کوتاه، پایگاه داده وردپرس را بهینه کنید.
تمام کدهای کوتاه استفاده نشده را از محتوا حذف کنید (توصیه می شود)
اگر در گذشته از کدهای کوتاه زیادی استفاده میکنید و اکنون نمیدانید از کدام کد کوتاه در کدام پست استفاده میکنید. در آن شرایط، میتوانید با افزودن خط زیر به فایل تم فعال function.php، همه کدهای کوتاه استفاده نشده را پنهان کنید.
add_filter(‘the_content’, ‘zole_remove_unused_shortcode’);
function zole_remove_unused_shortcode($content)
{ $pattern = zole_get_unused_shortcode_regex();
$content = preg_replace_callback( ‘/’. $pattern .’/s’, ‘strip_shortcode_tag’, $content );
return $content;
}
function zole_get_unused_shortcode_regex() {
global $shortcode_tags;
$tagnames = array_keys($shortcode_tags);
$tagregexp = join( ‘|’, array_map(‘preg_quote’, $tagnames) );
$regex = ‘\\[(\\[?)’;
$regex .= “(?!$tagregexp)”;
$regex .= ‘\\b([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*+(?:\\[(?!\\/\\2\\])[^\\[]*+)*+)\\[\\/\\2\\])?)(\\]?)’;
return $regex;
}
بنابراین این کد همه کدهای کوتاه فعال را بازیابی می کند و محتوا را برای کدهای کوتاه بررسی می کند و کدهای کوتاهی را که فعال نیستند حذف می کند. این کد با حذف محتوا بین تگ کد کوتاه، کدهای کوتاه استفاده نشده را غیرفعال می کند. وقتی دوباره افزونه را فعال کردید، کد کوتاه دوباره کار خواهد کرد.
کد کوتاه را با مقدار خالی جایگزین کنید
اگر نمی خواهید کد کوتاه را حذف کنید، می توانید کد کوتاه را برای نمایش خوانندگان خود با افزودن کد زیر به فایل function.php یا افزونه عملکرد مخفی کنید. Shortcodename را با کد کوتاه واقعی جایگزین کنید.
add_shortcode( ‘shortcodename’, ‘__return_false’ );
توجه: این یک روش خوب است فقط در صورتی که بدانید کدام کد کوتاه را می خواهید حذف کنید. همچنین باید مطمئن شوید که کد کوتاه دیگر فعال نیست، در غیر این صورت ممکن است منجر به تداخل شود.
امیدواریم این مقاله به شما کمک کند تا کدهای کوتاه استفاده نشده را از پست ها یا صفحات وردپرس خود پیدا کرده و حذف کنید.