ВЛЕЗ В КЛУБА
ВЛЕЗ В КЛУБА
wordpress ,софтуер ,shortcodes

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

Запази за после

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

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

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

shortcode

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

В първия момент си помислих:

Сега Христо трябва да минеш през всички над 1300 статии (една по една) и да премахнеш всеки неактивен код, който е оставил плъгина, който си деактивирал.

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

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

Затова искам не искам започнах ръчното премахване.

На десетата страница от статии направо ми писна.

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

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

В крайна сметка намерих страхотен вариант, който решаваше целия този проблем само за 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“ отново ще се изобразят елементите, стоящи зад тях.

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

Subscribe
Notify of
guest
5 Comments
Inline Feedbacks
Виж всички

👤   Log In / Профил

🔰   Абонамент за Мастърхак

📗   Библиотека с книги

🏆   VIP зона с курсове

☎️   0878 977 107

==========

🔐   Секретна група

💻   Инструкция за групата

ℹ️   Инфо за клуба

🎯   За Реклама


🔘   Cookies

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

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

🔘   Privacy Policy

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


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


Facebook

📩 office@lifehack.bg

Ще ви направим по-успешни и богати от вчера само за 5 мин. на седмица
Ако търсите най-добрите похвати в маркетинга, бизнеса и психологията, трябва да пробвате идеите в този бюлетин
Над 17 000 амбициозни хора всяка седмица го чакат с нетърпение
Постигай целите си 2 пъти по-бързо
100 специално подбрани принципа и инструмента

Възстанови паролата:

Логни се в
Мастърхак