Блог Андрея Юрченко

Авторский блог с полезными статьями по темам: создание сайта, заработок на сайте, заработок в интернете, работа на дому, работа в интернете, инфобизнес

Полезные твики для WordPress

Привет друзья! В продолжение темы твиков для WordPress, с которыми вы познакомились в моих предыдущих статьях «Твики для безопасности WordPress», сегодня хочу познакомить с еще некоторыми полезными фрагментами кода, которые можно и нужно применять в своих проектах или как основу для других компонентов.

настройка wordpress,код wordpress

Весь код, который я опишу ниже, я использую в своих проектах и считаю что это необходимые функции для WordPress. Код нужно вставлять в в файл functions.php, расположенный в папке темы вашего сайта.

Ну что, приступим? Да, хочу напомнить, перед изменением любых файлов темы вашего сайта обязательно сделайте резервные копии этих файлов, чтобы при ошибке или сбое по каким-либо причинам можно было все восстановить в рабочее состояние.

1. Неудачная авторизация

Очень хороший и нужный код, который я бы посоветовал добавлять в каждую тему для безопасности вашего сайта.

При некорректной авторизации пользователя данный код перезаписывает сообщение WordPress. Другими словами, при неправильном вводе пароля WordPress сообщает, что введен неправильный пароль для данной учетной записи, тем самым сообщает хакеру о существовании данной учетной записи и что ее можно взломать.

Да этом этапе вам поможет и защитит ваш сайт следующий код:

function failed_login() {

  return ‘Incorrect login information.’;

}

add_filter(‘login_errors’, ‘failed_login’);

2. Блокируем доступ к версии WordPress

По разным причинам некоторые пользователи используют старые версии WordPress и не обновляют до более новых. В этом случае повышается вероятность доступа к вашему сайту. Ниже я приведу код, который скроет информацию о текущей версии WordPress и тем самым увеличит сложность взлома сайта.

function remove_wp_version(){

    return »;

}

add_filter(‘the_generator’, ‘remove_wp_version’);

3. Отключаем обновления ядра WordPress

Данная функция отключает вывод блока оповещения о выходе новой версии, который обычно появляется ввурху панели админа.

Использование данной функции допустимо если сайтом управляет несколько пользователей или вы управляете сайтами клиентов и вам не нужно, чтобы что-либо обновлялось без вашего ведома.

function wp_hide_update() {

    remove_action(‘admin_notices’, ‘update_nag’, 3);

}

add_action(‘admin_menu’,'wp_hide_update’);

4. Заметки только для админа

В случае управления сайтом несколькими пользователями возможно нужен вариант, когда некоторые записи должны видеть только авторизованные администраторы. Такая реализация удобна для различных заметок или запросов на изменения.

function adminnote($atts, $content = NULL){

if(current_user_can(‘edit_themes’) || is_user_logged_in()){

return ‘</pre>

<div style=»margin-bottom: 22px; font-family: Consolas, Monaco, \’Courier New\’, Courier, monospace; font-size: 12px; font-weight: inherit; overflow-x: auto; white-space: -o-pre-wrap; width: 99%; word-wrap: break-word; background: #f3f3f7; border: 1px solid #dedee3; padding: 11px; line-height: 1.3em;»><b>Admin Notice</b>

‘ . $content . ‘</div>

<pre>

‘;

}

}

add_shortcode(‘note’, ‘adminnote’);

Добавьте приведенный код в файл functions.php, а для закрытия контента используйте шоркод в любой записи на своем сайте:

[note]Контент, будет виден только администраторам[/note].

5. Сайт временно недоступен

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

function wp_maintenance_mode(){

    if(!current_user_can(‘edit_themes’) || !is_user_logged_in()){

        wp_die(‘Maintenance, please come back soon.’, ‘Maintenance — please come back soon.’, array(‘response’ => ’503′));

    }

}

add_action(‘get_header’, ‘wp_maintenance_mode’);

После окончания работ на сайте и отмены данной функции нужно поставить в коде два слеша // перед 3-й строкой кода, тем самым закомментировать и отменить действие кода и функции wp_die.

6. Защита ссылки для отправки e-mail

В последнее время актуальна защита от спама. Ссылки mailto: довольно уязвимы даже для самых простых ботов, но не беда, можно увеличить защиту ссылки и тем самым уменьшить вероятность получения адреса вашего ящика ботами и в последствии заполнения его спамом.

function email_encode_function($atts, $content){

return ‘<a href=»‘.antispambot($content).’»>’.antispambot($content).’</a>’;

}

add_shortcode(‘email’, ‘email_encode_function’);

Для использования функции, просто добавьте шорткод в то место записи, где вы хотите вставить ссылку. А выглядит он вот так:

[email]Ваша ссылка (email@me.com)[/email]

Ну как Вам? Считаю, что приведенные выше  функции обеспечат дополнительную защиту и некоторое удобство в управлении для вашего ресурса. Далее приведу код, который добавит некоторый функционал и удобство в размещении контента на ресурсе

7. Последняя запись в цикле с собственным классом

Возможно, для подгонки под вашу тему возникнет необходимость изменить отступы для последней записи на вашей странице. Для этого мы будем использовать функцию, которая добавит класс «last» к каждой последней записи в цикле, что довольно просто, но достаточно зффективно.

function last_post_class($classes){

    global $wp_query;

    if(($wp_query->current_post+1) == $wp_query->post_count) $classes[] = ‘last’;

    return $classes;

}

add_filter(‘post_class’, ‘last_post_class’);

8. Теги rel в галереях

Возможно в вашей теме используется скрипт лайтбокса и вам нужно добавить тег rel для ваших ссылок, чтобы позволить JavaScript подхватить их в качестве лайтбокса. Ниже приведен код для решения. На первый взгляд код выглядит сложным, но вы разберетесь. Просто изменяйте тег rel на то, что нужно JavaScript для работы лайтбокса.

function addlightboxrel_replace($content){

    global $post;

    $pattern = «/<a(.*?)href=(‘|\»)([^>]*).(bmp|gif|jpeg|jpg|png)(‘|\»)(.*?)>(.*?)<\/a>/i»;

    $replacement = ‘<a$1href=$2$3.$4$5 rel=»gallery»$6>$7′;

    $content = preg_replace($pattern, $replacement, $content);

    return $content;

}

add_filter(‘the_content’, ‘addlightboxrel_replace’, 12);

add_filter(‘get_comment_text’, ‘addlightboxrel_replace’);

9. Изображение в выпадающем списке

Если вам нужно использовать свое изображение среднего или большого размера для использования в записях, но вы не хотите изменять их стандартные размеры, то вам поможет приведенный нижн фрагмент кода. Этот код позволит добавить свой размер изображения при вставке в запись в выпадающем меню.

if(function_exists( ‘add_image_size’)){

    add_image_size(‘blog-large’, 800, 600, false);

}

function custom_image_sizes($sizes) {

        $addsizes = array(

                »blog-large» => __(«X-Large»)

                );

        $newsizes = array_merge($sizes, $addsizes);

        return $newsizes;

}

add_filter(‘image_size_names_choose’, ‘custom_image_sizes’);

Данный код добавляет один размер, но если вам нужно больше, то просто добавьте больше add_image_size  с нужными размерами и добавьте их в массив $addsizes.

10. Снимок сайта

При помощи небольшой функции, которая использует шорткод можно выводить миниатюры любого сайта на вашей странице.

function wp_snap($atts, $content = NULL) {

        extract(shortcode_atts(array(

            »snap» => ‘http://s.wordpress.com/mshots/v1/‘,

            »url» => ‘http://wpdaily.co/‘,

            »alt» => ‘WPDaily’,

            »w» => ’400′, // ширина картинки

            »h» => ’300′ // высота картинки

        ), $atts));

        $img = ‘<img alt=»‘ . $alt . ‘» src=»‘ . $snap . » . urlencode($url) . ‘?w=’ . $w . ‘&h=’ . $h . ‘» />’;

        return $img;

}

add_shortcode(«snap», «wp_snap»

Для использования нужно в текст вашей записи вставить следующий код:

[snap url=»http://wpdaily.co/» alt=»WPDaily Website» w=»400″ h=»300″]

На этом пока все. Надеюсь со всем разберетесь и воспользуетесь нужными вам сниппетами. Буду рад, если поделитесь своими фрагментами кода, пишите в комментариях. И если понравилась статья и была вам полезна, то не забудьте понажимать на кнопки социальныж сетей ниже и поделиться с друзьями.

С уважением, Андрей Юрченко

Поделитесь статьей в социальных сетях!

Подпишись на RSS-рассылку и получай новые статьи на почту!

Введите свой e-mail:

МАГИЧЕСКИЙ ШАБЛОН ПОДПИСНОЙ СТРАНИЦЫ В ПОДАРОК, ЗАБИРАЙТЕ

Оставить комментарий:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Комментарии Вконтакте:

Content Tab Three

Блог Андрея Юрченко © 2016

ВВЕРХ