Как да махнем неактивните [shortcodes] от всички статии за 30 секунди – WordPress

За какво обаче става въпрос?

От доста време използвам WordPres плъгин, който ми осигуряваше различни стилови елементи в статиите като бутони, разделители, цветни боксове и т.н. Реших обаче да се отърва от него в полза на още по-високата скорост на зареждане на сайта. А и вече доста от стиловото оформление можех да си правя ръчно с помощта на CSS.

Какъв обаче беше проблема?

В lifehack,bg към момента на написването на този материал има над 800 статии. В над 80% от тях са използвани въпросните стилови елементи чрез „shortcodes“!

shortcode

Но плъгина, който ги подсигуряваше не работи – изключих го, а тези малки парченца код вече не са активни – на тяхно място се виждаше нещо подобно на „sws_divider_line„, което можеше да смути много от нашите потребители /някои от тях вече ни сигнализираха/. В първия момент си помислих: сега по дяволите Христо трябва да минеш през всички над 600 статии, една по една и да премахнеш всеки подобен кратък код, който си използвал!

Признавам ви, направо ми се дорева при мисълта, че трябва да мина през всичко това.

Но нямаше да включа плъгина отново, исках сайта да зарежда по-бързо, а #WordPress плъгините да са възможно най-малко. Затова искам не искам започнах ръчното премахване.

На десетата страница от статии /това са някъде около 60-70 броя/ направо ми писна.

Зарових се в интернет, за да намеря друго решение, това просто не беше опция – да прекарам почивните си дни в премахване на няколко хиляди малки гадни редчета код…

Както Уил Смит беше казал: Няма проблем, който да не е описан в някоя книга.„, така и в този случай се оказа, че няма проблем, който да не е описан в интернет.

В крайна сметка намерих страхотен вариант, който решаваше целия този проблем само за 30 секунди и то напълно автоматично – без да има нужда от ръчна намеса!

Не може да си представите какво щастие изпитах, когато го тествах и видях, че работи отлично. Да, почувствах се и малко прецакан, че си играх да оправя ръчно толкова много статии, но това вече не беше от голямо значение…

Останалите 500 и кусур се оправиха напълно автоматично и тези кратки кодове вече не се показваха пред очите на читателите на lifehack.bg

Ето и решението:

За да се отървем от всички излишни и неработещи „shortcodes“ от деактивирани плъгини, на един път, без ръчна намеса за всяка статия, просто трябва да направим следното.

  • Отворете администрацията на WordPress сайта си
  • Отидете в Apperance → Editor
  • Там намерете файла function.php
  • Отворете го и в края поставете този код преди таг-а ?>
add_filter('the_content', 'mte_remove_unused_shortcode');
function mte_remove_unused_shortcode($content)
{	$pattern = mte_get_unused_shortcode_regex();
	$content = preg_replace_callback( '/'. $pattern .'/s', 'strip_shortcode_tag', $content );
	return $content;	
}
 
function mte_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; 
}

Накрая проверете статиите си /не в редактора, а на живо/, в които знаете, че трябва да се изобрази някой от използваните [shortcodes] и ще видите, че вече ги няма!

Това, което прави тази функция е да изключи неактивните вече кодове от неработещия плъгин, а не да ги премахне перманентно. Това е добре, тъй като следващия път, когато активирате плъгина, „shortcodes“ отново ще се изобразят елементите, стоящи зад тях.

Надявам се ако и вие имате някой ден подобен проблем, тази статия да ви бъде полезна.

Вижще и тези безплатни ресурси за WordPress:

  •  
  •  
  •  
  • Аз не ползвам такива неща – от това, което съм чел няма никаква нужда. Сравняват ги с червилото на жената – ако устните и са хубави – няма нужда да ги прави още по хубави 🙂 за съвсем малко съм ползвал и ми оцапаха доста публикации и спрях да ги ползвам. А и не ги препоръчват……….

  • Разбирам напълно отчаянието ти в началото и ти завиждам, че си намерил решение на проблема си.

    Аз си затрих всички снимки (от Blogger след което се преместих на WordPress) преди месец и сега ги слагам ръчно една по една… fun fun fun

  • 🔘 За Нас

    🔘 За Реклама


    🔘 Общи условия

    🔘 Права за ползване

    🔘 Privacy Policy

    🔘 Cookies

    🔘 Решаване на спорове


    LIFEHACK е медия за бизнес и личностно развитие, в която се публикува качествено съдържание по теми като дигитален маркетинг, онлайн бизнес, лидерство, предприемачество, мениджмънт, психология и продуктивност.


    Facebook

    📩 office@lifehack.bg

    >
     

    Най-голямото намаление за годината! Вземи 50% отстъпка за най-желания абонамент научи повече