Хук WordPress: Автоматический атрибут “Nofollow” для внешних ссылок в контенте записей
По-умолчанию WordPress не добавляет автоматически атрибут rel=”nofollow” для внешних ссылок в записях блога. Если вам нужно такое реализовать, вот простой хук WordPress для добавления указанного атрибута к каждой ссылке.
Вставьте следующий сниппет в файл functions.php вашей темы. После сохранения все внешние ссылки в ваших записях превратятся в “Nofollow”.
add_filter('the_content', 'auto_nofollow'); function auto_nofollow($content) { //return stripslashes(wp_rel_nofollow($content)); return preg_replace_callback('/<a>]+/', 'auto_nofollow_callback', $content); } function auto_nofollow_callback($matches) { $link = $matches[0]; $site_link = get_bloginfo('url'); if (strpos($link, 'rel') === false) { $link = preg_replace("%(href=S(?!$site_link))%i", 'rel="nofollow" $1', $link); } elseif (preg_match("%href=S(?!$site_link)%i", $link)) { $link = preg_replace('/rel=S(?!nofollow)S*/i', 'rel="nofollow"', $link); } return $link; }
Добавляем ссылки на панель инструментов WordPress
Как и многие другие элементы, WordPress позволяет настроить панель инструментов, используя функцию using the add_node(). Этот сниппет поможет вам добавить ссылку на панель инструментов WordPress.
Вставьте следующий код в файл functions.php вашей темы или в плагин для сайта WordPress:
// добавляем ссылку на панель инструментов WP function custom_toolbar_link($wp_admin_bar) { $args = array( 'id' => 'gmail', 'title' => 'Gmail', 'href' => 'https://mail.google.com/mail/#inbox', 'meta' => array( 'class' => 'gmail', 'title' => 'admin@wpincode.com' ) ); $wp_admin_bar->add_node($args); } add_action('admin_bar_menu', 'custom_toolbar_link', 999);
После того, как вы закончите, отредактируйте следующие элементы и все будет готово.
‘id’ => ‘gmail’ — ID элемента, содержащего настраиваемую ссылку
‘title’ => ‘Gmail’ — текст ссылки
‘href’ => ‘https://mail.google.com/mail/#inbox’ — URL настраиваемой ссылки
‘class’ => ‘gmail’ — атрибут class настраиваемой ссылки
‘title’ => ‘admin@wpincode.com’ — атрибут заголовка настраиваемой ссылки
Автоматически скрываем адреса email от спамботов на вашем блоге WordPress
Спам-боты — определенно большая проблема всех блогов и сайтов. Ниже удобный и полезный сниппет для предотвращения сканирования вашего блога спампботами и кражи емейл адресов для последующего их использования спамерами.
Вставьте следующий код в ваш файл functions.php. После сохранения код будет фильтровать контент и содержимое виджетов для сокрытия емейл-адресов от спамеров.
function security_remove_emails($content) { $pattern = '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})/i'; $fix = preg_replace_callback($pattern,"security_remove_emails_logic", $content); return $fix; } function security_remove_emails_logic($result) { return antispambot($result[1]); } add_filter( 'the_content', 'security_remove_emails', 20 ); add_filter( 'widget_text', 'security_remove_emails', 20 );
Делаем более защищенные инклуды
Быстрый способ защитить свои PHP инклуды, разместив их вне корневной директории.
Например, если обычно у вас инклуды храняться в корневой директории, вот так:
/var/www/vhosts/example.com/httpdocs/wordpress/includes/
Мы расположим файлы выше структуры папок, так что они перестанут быть доступными через веб, вот так:
/var/includes/
Затем инклудим их в файлы вашей темы, используя полный путь:
<?php include_once('/var/includes/some-file.php'); ?>
Вуаля, файлы теперь недоступны извне, из веб.