Хук WordPress: Автоматический атрибут “Nofollow” для внешних ссылок в контенте записей
По-умолчанию WordPress не добавляет автоматически атрибут rel=”nofollow” для внешних ссылок в записях блога. Если вам нужно такое реализовать, вот простой хук WordPress для добавления указанного атрибута к каждой ссылке.
Вставьте следующий сниппет в файл functions.php вашей темы. После сохранения все внешние ссылки в ваших записях превратятся в “Nofollow”.
1 | add_filter( 'the_content' , 'auto_nofollow' ); |
3 | function auto_nofollow( $content ) { |
6 | return preg_replace_callback( '/<a>]+/' , 'auto_nofollow_callback' , $content ); |
9 | function auto_nofollow_callback( $matches ) { |
11 | $site_link = get_bloginfo( 'url' ); |
13 | if ( strpos ( $link , 'rel' ) === false) { |
14 | $link = preg_replace( "%(href=S(?!$site_link))%i" , 'rel="nofollow" $1' , $link ); |
15 | } elseif (preg_match( "%href=S(?!$site_link)%i" , $link )) { |
16 | $link = preg_replace( '/rel=S(?!nofollow)S*/i' , 'rel="nofollow"' , $link ); |
Добавляем ссылки на панель инструментов WordPress
Как и многие другие элементы, WordPress позволяет настроить панель инструментов, используя функцию using the add_node(). Этот сниппет поможет вам добавить ссылку на панель инструментов WordPress.
Вставьте следующий код в файл functions.php вашей темы или в плагин для сайта WordPress:
2 | function custom_toolbar_link( $wp_admin_bar ) { |
9 | 'title' => 'admin@wpincode.com' |
12 | $wp_admin_bar ->add_node( $args ); |
14 | 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. После сохранения код будет фильтровать контент и содержимое виджетов для сокрытия емейл-адресов от спамеров.
1 | function security_remove_emails( $content ) { |
2 | $pattern = '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})/i' ; |
3 | $fix = preg_replace_callback( $pattern , "security_remove_emails_logic" , $content ); |
7 | function security_remove_emails_logic( $result ) { |
8 | return antispambot( $result [1]); |
10 | add_filter( 'the_content' , 'security_remove_emails' , 20 ); |
11 | add_filter( 'widget_text' , 'security_remove_emails' , 20 ); |
Делаем более защищенные инклуды
Быстрый способ защитить свои PHP инклуды, разместив их вне корневной директории.
Например, если обычно у вас инклуды храняться в корневой директории, вот так:
1 | / var /www/vhosts/example.com/httpdocs/wordpress/includes/ |
Мы расположим файлы выше структуры папок, так что они перестанут быть доступными через веб, вот так:
Затем инклудим их в файлы вашей темы, используя полный путь:
1 | <?php include_once ( '/var/includes/some-file.php' ); ?> |
Вуаля, файлы теперь недоступны извне, из веб.
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)