Как скрыть активированные плагины от других администраторов?

Если вы не единственный администратор на сайте, то вам стоит побеспокоиться о том, чтобы другие администраторы не отключали и не удаляли плагины, которые требуются для корректной работы сайта. Я уже рассматривал способ, каким можно скрыть ссылки "Деактивировать" и "Изменить" на странице плагинов, а теперь предлагаю вам скрыть нужные плагины от чужих глаз вообще. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//скрываем плагины от всех кроме главного админа start
function wph_hide_plugins($plugins) {
    global $current_user;
    get_currentuserinfo();
    if( $current_user->ID != 1 ) {
        if( is_plugin_active('cyr2lat/cyr-to-lat.php') ) {
            unset( $plugins['cyr2lat/cyr-to-lat.php'] );
        }
    }
    return $plugins;
}
add_filter('all_plugins', 'wph_hide_plugins');
//скрываем плагины от всех кроме главного админа end

Как выделить цветом отдельные символы в ссылках меню?

Пример раскраски ссылок в меню

Если вы хотите как-нибудь украсить ссылки в меню (например, выделить один из символов цветом - как на скриншоте), то вам вовсе не обязательно использовать какие-либо замысловатые css3-техники. На самом деле, меню в WordPress позволяет использовать html-теги, поэтому раскраска отдельных символов делается так:

Главна<span style="color:red;">я</span>
Рубрик<span style="color:red;">и</span>
Страниц<span style="color:red;">ы</span>
Ссылк<span style="color:red;">и</span>

Примитивно? Да. Но зато превосходно работает и не требует правки css-стилей.

Как починить и оптимизировать InnoDB таблицы в базе данных?

Починка базы данных

В случае поломки базы данных на таблицах с типом MyISAM вы можете зайти в phpMyAdmin и выполнить в нем проверку\починку\оптимизацию. Скрипт phpMyAdmin установлен у 99% хостеров, поэтому с этим проблем не возникнет. Но что делать, если база данных сломалась, а phpMyAdmin отказывается ее чинить, выдавая сообщение "The storage engine for the table doesn’t support repair"? Такое сообщение phpMyAdmin выдаст, так как не умеет чинить InnoDB таблицы. На самом деле паниковать рано - в WordPress есть свой собственный скрипт починки базы данных, который работает с любым типом таблиц. Для активации этого скрипта вам необходимо добавить в файл wp-config.php вашего сайта следующий код:

Как разместить рекламу в середине записи?

Adsense

Не так давно я рассматривал различные способы добавления рекламы (от Adsense и других рекламных систем) в контент записи. Были приведены примеры добавления рекламных баннеров в начале записи, в конце записи, после определенного параграфа и др. Единственное, что там не было рассмотрено - это вывод рекламы в середине записи. Вывод рекламы в середине контента записи это довольно востребованная у пользователей функция, поэтому приведу пример фильтра, которым вы можете добавить свой рекламный баннер в середину записи. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

Как в облаке меток выделить текущие метки записи?

Выделение текущих меток записи в облаке меток

Иногда требуется выделить в облаке меток текущие метки записи. Стандартным путем это сделать нельзя, так как функция вывода облака меток попусту не обладает такой настройкой. Можно воспользоваться каким-либо сторонним плагином для вывода облака меток, а можно стилизовать стандартный виджет облака меток. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

Как защититься от спаммеров с помощью .htaccess?

Мало кто знает, но в кодексе описан весьма эффективный способ защиты от спама с помощью директив в .htaccess. Это, так называемая, серверная защита от спама - она не требует установки какого-либо плагина или изменения кода темы. Вам достаточно добавить в файл .htaccess в корне вашего сайта следующий код:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*testwp.ru.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>

Как создать виртуальную страницу (virtual page) в WordPress?

Пример открытия виртуальной страницы

Я уже рассматривал код, которым можно программно создать страницу при активации темы. Однако, внутри плагина логично будет не создавать физическую страницу, а обойтись виртуальным аналогом. То есть виртуальные страницы на сайте будут доступны только, пока плагин активирован. Для чего это может быть нужно? Вариантов масса - от реализации какого-либо собственного API до банального вывода карты сайта без создания физических страниц. Некоторые плагины, например, таким образом, создают собственные страницы авторизации и регистрации на сайте. Но не суть, для чего вам это надо. Главное как это сделать. Первым делом вы должны в свой плагин (или тему) добавить следующий код: