! Запросто с WordPress - доступная ручная работа по правилам оптимального интернета
...здесь Ваша реклама.?.
Здравствуйте !
написано: — 
отредактировано: 2018-09-24
издатель:  в теме: Контент, шапка site: кодингS реплики: 2 комментария
 
Запросто с WordPress - студия ATs media fashion Reception WordPress golden

14 полезных сниппетов — код для наилучшей работы сайта WordPress — функции

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

Файл functions.php чуть ниже даны полезные ссылки на инструкции по работе с файлом функций: хуки… фильтры… всякие фичи… — всё самое важное, что необходимо знать о файле functions.php! дает нам возможность модифицировать и контролировать текущую (или созданную) специфическую функциональную среду нашего шаблона.

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

Итак, 14 полезных сниппетов кода для более эффективной работы сайта на WordPress — начнём концерт:


 

Разделы статьи:

 

Что такое файл functions.php и как вы можете его редактировать?

 

 

 

 

Статья для тех администраторов, которые не хотят бегать к фрилансерам по поводу всякой мелочи, и платить..!

 

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

 

 

 

 

Предложенные в этом посте несколько простеньких и лёгких сниппетов полезного кода, заменят добавление нескольких плагинов для отработки того же функцилнала.

 

 

Что ж, изучим способы изменения функциональной работы веб-сайта на WordPress через файл functions.php, расположенный в папке нашей темы…

 

 

 

 

К слову:

возможно, кому-то будет полезна статья, толкующая о правилах работы с кодом: как закомментировать различный код?..

 

Как —

разнести определённые «тематические» функции по отдельным файламfunctions.php — как разбить на отдельные функциональные части, файлы functions.php — как разбить на отдельные функциональные части, файлы — узнаем в подробностях? …как создать собственный плагинСоздаём плагин — добавочный файл функций — my-functions.php Создаём плагин — добавочный файл функций — my-functions.php: учимся по шагам!, для личных целевых функций — обезопасим сайт на случай смены темы.

 

Подборка кода для файла функций. Необходимые настройки нового сайта!..

 

 

 

 

Итак — файл functions.php по принципу такой же плагин WordPress, только расположенный локально в ядре шаблона (темы):

отыскать файл возможно по такому пути /wp-content/ themes/yourthemename/ищем файл.

 

 

 

10 полезных сниппетов для WordPress

 

 

 

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

 

 

Говоря коротко, вы можете добавить (прописать) столько требуемых функций в этот файл, сколько хотите, в то время как плагины обычно фокусируются на одной конкретной задаче, и нам подчас требуется установить кучу из них для покрытия различных целей: а это не всегда оправдано.

 

Я не противник плагинов, нет! однако не всё функциональное и не всегда стоит реализовывать плагинами, вот и весь секрет.

 

 

(Обычно!) добавление нового кода в файл функций вебмастера осуществляют так:

 

 

…открывают файл функций, и в самом его финале (перед знаком ?> /хотя, этот знак можно убрать их файла/ добавляют новую функцию, снабжая комментариями, чтобы не забыть назначение сниппета).

 

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

 

 

 

Имейте в виду:

проверьте у себя на сайте наличие плагина, который вызывает одну и ту же функцию что и некий объект (новая установленная функция) в functions.php, дублирование может вызвать конфликт отработки… а, следовательно, проблемы на сайте.

 

Внимательно изучите назначения установленных плагинов.

 

 

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

 

 

 

 

к оглавлению $

1: Thumbnails (Избранные изображения) миниатюры записей

 

 

 

 

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

 

 

Прописываем следующую строку кода к себе в активный файл функций (или туда, куда вы добавляете подобный код)…

 

 

add_theme_support( 'post-thumbnails' );

 

 

Следующий код (вызов функции) должен быть включен в конкретный цикл, в котором вы хотите, чтобы миниатюра (thumbnails) отображалась на сайте:

 

 

<?php the_post_thumbnail(); ?>

 

 

 

 

к оглавлению $

2: Автоматизация даты авторского права на сайте — в футере

 

 

 

 

В некоторых случаях, в новом календарном году, приходится в ручную менять дату текущего года в нижней части сайта (подвал — footer.php).

Об этой «смене времени» чаще всего забывают. Посему сделаем дату — динамической, добавив следующий код в файл functions.php.

 

 

 

function copyright($start_year, $site_name) {
$year = date('Y');
echo "&copy; Copyright ";
echo $start_year;
if($start_year != $year) echo "-$year";
echo ", $site_name, All Rights Reserved.";
}

 

 

После прописки кода выше, останется отыскать в файлах шаблона, требуемый отвечающий за формирование подвала файл: обычно это что-то типа footer.php.

…и дописать к его коду следующие строки: (div класс возможно заменить на свой класс)

 

<div class='copyright'>
<?php copyright(2017, "Your Company Name - имя сайта"); ?>
</div>

 

 


подписка feedburner МИГ подписки - ВРЕМЯ знаний!!

 

 

к оглавлению $

3: Модификация Gravatar по умолчанию — для комментаторов

 

 

 

Если мы перейдём в «Настройки» — «Обсуждение» WordPress, то увидим область, которая позволяет нам изменять Гравитатор по умолчанию, для тех посетителей, которые публикуют комментарии на нашем сайте.

 

Как видите, разнообразие аватарок достаточно скудное… Отчего бы нИ добавить свой собственный вариант граватара!? скажем, картинку бренда?

 

 

 

граватар wp

 

 

 

Добавьте следующий код себе: (не забудьте указать имя своей картинки для mygravatar.gif)

 

 

add_filter( 'avatar_defaults', 'newgravatar' );
function newgravatar ($avatar_defaults) {
$myavatar = get_bloginfo('template_directory') . '/images/mygravatar.gif';
$avatar_defaults[$myavatar] = "CompanyName";
return $avatar_defaults;
}

 

 

 

Более подробное описание как добавить свой граватар в Вордпресс

 

 

 

 

к оглавлению $

4: Установим на свой сайт значок — favicon

 

 

 

 

Значок фавикон — это маленькая картинка, которая отображается во вкладке браузера, когда посетитель заходит на наш сайт…

 

 

favicon для сайта

 

 

Для подобной организации фавикона (если установка значка не предусмотрена темой) существует много плагинов, однако !! скажите пожалуйста, зачем для организации favicon использовать плагин, который станет неоправданно тратить ресурсы?? — это весьма и весьма нецелесообразно.

 

Гораздо логичнее просто-напросто добавить такой простенький код, и забыть об этой проблеме!

 

Замените «theyourimage» на путь до вашего желаемого изображения favicon.

 

 

 

add_action ('wp_head', 'blog_favicon');
function blog_favicon () {
echo '<link rel = "Shortcut Icon" type = "image / x-icon" href = "'. get_bloginfo ('wpurl'). 'theyourimage" />';
}

 

 

 

 

к оглавлению $

5: свяжем с сайтом данные Google Analytics

 

 

 

А это одна наиболее распространенная фича  в файле functions.php, поскольку связывает учетную запись Google Analytics, чтобы наблюдали дополнительную информацию о работе сайта.

 

Нужно только добавить свой код Google Analytics для привязки учетной записи:

 

 

 

<?php
add_action('wp_footer', 'add_googleanalytics');
function add_googleanalytics() { ?>
// Place the code you get from Google Analytics here - Разместите здесь код, полученный из Google Analytics...
<?php } ?>

 

 

 

к оглавлению $

 

 

 

Нижний колонтитул (подвал сайта) обычно включает текст по умолчанию (к примеру, сведения о теме), — почему бы не изменить его в соответствии с личным брендом?

 

Добавьте этот код в файл functions.php.

 

 

add_filter ('admin_footer_text', 'remove_footer_admin');
function remove_footer_admin () {
echo "Какой-то нужный для нас текст";
}

 

 

 

7: Автоматическое изменение размера и обрезка изображений сайта

 

 

 

 

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

 

Добавьте код ниже, чтобы изображения обрезались (масштабировались) до идеального размера для вашего сайта.

 

 

Для начала проверьте, есть ли следующая строка в вашем functions.php. И если если нет, то добавьте её:

 

 

add_theme_support( 'post-thumbnails' );

 

 

Кроме того, поместите следующий код в файл функций:

 

add_image_size ('imagename', 200, 200, true);

 

 

Измените имя изображения на то, которое хотите масштабировать, — первое число: это ширина обрезки… и — второе: число для высоты.

 

 

Поместите этот код в то место, где бы вы хотели видеть изображение:

 

 

<?php php the_post_thumbnail ('imagename'); ?>

 

 

 

 

к оглавлению $

8: Режим обслуживания — Maintenance Mode

 

 

 

Режим обслуживания - Maintenance Mode

 

 

 

Режим обслуживания подойдёт в том случае, когда мы ведём на сайте технические работы (к примеру, добавляем новый код в файл функций), и вот чтобы посетитель в случае «мигания кода» /дизайна/ не наблюдал этих экспериментов — или пустую страницу сайта — но видели какую-то симпатичную… сообщающую… о том, что на сайте ведутся работы…

Всего-то нужно добавить к себе следующие строки.

 

 

add_action ('get_header', 'maintenance_mode');
function maintenance_mode () {
if  (! current_user_can ('edit_themes') || !  is_user_logged_in ()) {
wp_die ('Maintenance - ваш текст, фото...');
}
}

 

 

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

 

 

 

 

к оглавлению $

9: зададим минимальный предел для комментария, в символах

 

 

 

Если мы хотим ограничить размер комментариев — минимум символов — максимум, вот решение.

 

Если комментатор ввёл короткий, либо длинный комментарий, то он увидит предупреждение об ошибке!

 

 

…используя следующий код в файле functions.php.

 

 

 

new GW_Minimum_Characters( array(
'form_id' => 524,
'field_id' => 1,
'min_chars' => 10, // минимальное кол. символов
'max_chars' => 500, // максимальное кол. символов
'min_validation_message' => __( 'Sorry! You need more than %s characters! - Извините! Вам нужно больше, чем% s символов!' ),
'max_validation_message' => __( 'Sorry! You need less than %s characters! - Извините! Вам нужно больше, чем% s символов!' )
) )

;

 

 

 

Изменяйте идентификаторы, лимиты символов и сообщения предупреждений…

 

(Обратите внимание, что вы должны использовать этот фрагмент с Gravity Forms — универсальный конструктор форм для WordPress).

 

 

 

А этот хук к preprocess_comment (функция контролирует данные комментария перед сохранением в Б.Д) позволит задавать длину комментария в символах для стандартной формы комментирования (WordPress):

 

 

 

add_filter( 'preprocess_comment', 'wpb_preprocess_comment_s' );
function wpb_preprocess_comment_s($comment) {
if ( strlen( $comment['comment_content'] ) > 1000 ) {
wp_die('Комментарий слишком длинный. Пожалуйста, пишите комментарии длиной не более 1000 символов!');
}
if ( strlen( $comment['comment_content'] ) < 60 ) {
wp_die('Комментарий слишком короткий - минимум 60 символов!');
}
return $comment;
}

 

 

 

Примечание: фильтр запускается раньше того, как WordPress сохранит комментарий в Базе Данных! …именно на этом обыграны «предупреждение» пользователю, и сама возможность подкорректировать комментарий — так как текст комма ещё не сохранён в Б.Д!

 

 

Также возможно задавать длину комментария посредством плагинов, например: по типу этого Control Comment Length.

 

А этот Плагин ats privacy policyПлагин ats privacy policy
Плагин ats privacy policy позволит с лёгкостью добавить чекбокс политики конфиденциальности в стандартную форму комментирования…
позволит легко и просто добавить к стандартной форме комментирования правила политики конфиденциальности: чекбокс согласия!.. и если комментатор его не отметит, то получит предупреждение для исправления!

 

Настраиваемый…

 

 


подписка feedburner Online консультация по работе c сайтом на WordPress

 

 

к оглавлению $

10: отобразим счетчик Twitter для ваших посетителей веб-сайта

 

 

 

 

Это код позволяет нам отобразить колличество подписчиков Twitter в любом месте сайта — без использования громоздкого плагина!

 

 

 

<?php // <?php - это убрать при копировании кода
function rarst_twitter_user( $username, $field, $display = false ) {
$interval = 3600; // таймаут кэширования в секундах
$cache = get_option('rarst_twitter_user');
$url = 'http://api.twitter.com/1/users/show.json?screen_name='.urlencode($username);

if ( false == $cache )
$cache = array();

// при первом запросе - принудительное обновление
if ( !isset( $cache[$username][$field] ) ) {
$cache[$username][$field] = NULL;
$cache[$username]['lastcheck'] = 0;
}

// if outdated
if( $cache[$username]['lastcheck'] < (time()-$interval) ) {

// удержим декодированные данные JSON в памяти
static $memorycache;

if ( isset($memorycache[$username]) ) {
$data = $memorycache[$username];
}
else {
$result = wp_remote_retrieve_body(wp_remote_request($url));
$data = json_decode( $result );
if ( is_object($data) )
$memorycache[$username] = $data;
}

if ( is_object($data) ) {
// обновить все поля для известных для запросов
foreach ($cache[$username] as $key => $value)
if( isset($data->$key) )
$cache[$username][$key] = $data->$key;

$cache[$username]['lastcheck'] = time();
}
else {
$cache[$username]['lastcheck'] = time()+60;
}

update_option( 'rarst_twitter_user', $cache );
}

if ( false != $display )
echo $cache[$username][$field];
return $cache[$username][$field];
}

 

 

После прописки кода выше в файл функций, останется решить, где нужно выводить счётчик…

 

…в месте вывода счётчика добавляем следующие строки:

 

 

echo rarst_twitter_user('codeinwp', 'name').' has '.
rarst_twitter_user('codeinwp', 'followers_count').' followers after '.
rarst_twitter_user('codeinwp', 'statuses_count').' updates.';

 

 

 

 

Отработку кода подробно не проверял! тестите…

 

 

 

 

к оглавлению $

11: автоматическое добавление к картинке в статье title — текстовый редактор

 

 

 

 

Этот код автоматически добавит к картинке в статье title — всё это для удобства работы в текстовом редакторе… и не только…

 

 

/** АВТОМАТИЧЕСКОЕ ДОБАВЛЕНИЕ К КАРТИНКЕ статьи title **/
if ( !function_exists('avd_insert_image_title') ) :
function avd_insert_image_title( $html, $id, $attachment ) {
if ( !strpos($html, "title=") ) {
$html = str_replace('<img', '<img title="'. get_the_title( $id ) .'"' , $html);
}
return $html;
}
endif;
add_filter( 'media_send_to_editor', 'avd_insert_image_title', 10, 3 );
/** ФИН - АВТОМАТИЧЕСКОЕ ДОБАВЛЕНИЕ К КАРТИНКЕ статьи title **

/

 

 

к оглавлению $

12: обусловим автоматическое добавление title в атирибуты миниатюры статьи

 

 

 

 

Если в вашем шаблоне не организована поддержка автоматической прописки title в атрибуты миниатюры (а это скверно в плане SEO), —

 

добавте этот код себе, и отныне миниатюра записи будет организована по всем законам СЕО

 

 

/** добавляем title в атрибутику миниатюры **/
add_filter('wp_get_attachment_image_attributes','titles_gallery',10,2);
function titles_gallery($atts,$img) {
$atts['title'] = trim(strip_tags( $img->post_title ));
return $atts;
}
/** фин добавляем title в атрибутику миниатюры **/

 

 

 

 

к оглавлению $

13: адаптаци шапки сайта — убираем лишние данные из исходного кода

 

 

 

 

В комментариях к коду всё подробно рассказано…

 

 

/** АДАПТАЦИЯ ШАПКИ САЙТА ВЫБИРАЕМ ТРЕБУЕМОЕ **/
remove_action( 'wp_head', 'feed_links_extra', 3 );                    // откл доп фид лент
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'rsd_link' );                               // откл доп фид лент
remove_action( 'wp_head', 'wlwmanifest_link' );                       // ссылки на главной странице: первый пост, следующий, предыдущий
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 );         // ссылки на главной странице: первый пост, следующий, предыдущий
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); // Убираем связанные ссылки
remove_action( 'wp_head', 'wp_generator' );                           // запрет показа версии вордпресс
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );            // Короткая ссылка, ссылка без ЧПУ
//add_filter( 'show_admin_bar', '__return_false' );                   // запрет вывода админбара
/** ФИН - АДАПТАЦИЯ ШАПКИ САЙТА ВЫБИРАЕМ ТРЕБУЕМОЕ **/

 

 

 

 

к оглавлению $

14: запретим показ версий движка сайта, и при подключении css и jquery

 

 

 

 

/** защита сайта запрет показа версии движка сайта в ленте фида **/
function remove_version() {
return '';
}
add_filter('the_generator', 'remove_version');
/** защита сайта запрет показа версии движка сайта в ленте фида **/

 

 

 

…или этот код, который исключит показ версий при подключении css и jquery

 

 

/** убираем версии показа ДВИЖКА из исходного кода, при подключении css и jquery **/
function vc_remove_wp_ver_css_js( $src ) {
if ( strpos( $src, 'ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 );
add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 );
/** убираем версии показа ДВИЖКА из исходного кода, при подключении css и jquery **/

 

 

 


mihalica.ru

 

 

 

 

 

 

Мои услуги:

 

Сопровождение сайтов на WP — запросто с WordPress.

Переведу Ваш сайт на https — расторопно и качественно.

 

…и многое другое об услугах описано здесь или здесь

 

 


подписка feedburner Online консультация по работе c сайтом на WordPress

 

 


На этом занавес представления опускается…
…на рампы пыль печальная ложится…

 

 


Благодарности)) и вопросы в комментариях - помогу… в чём дюжу
А также Вы можете просто:
Нажатия на кнопочки определяют Ваше высокое гражданское сознание
Удачи в работе и творчестве..!
 ! самое читаемое:
   Создаём плагин — добавочный файл функций — my-functions.php   Санкции вебмастера Яндекс (фатальные ошибки) — предупреждения, или что это?..   Яндекс ИКС — новый индекс качества сайта, заместо ТИЦ   Что такое Яндекс? SEO оптимизация сайта за пределами Google   Как добавить свой новый (второй) сайт в Яндекс Директ   Как самостоятельно установить в Notepad++ плагин Compare   Как исключить вывод (выборочно) поста с главной страницы сайта — регулировка в админке   Ускоряем сайт: основные кэш и gzip правила .htaccess которые нужно знать   14 полезных сниппетов — код для наилучшей работы сайта WordPress — функции   Как перевести сайт на https — сертификат ssl — шифрование   Убираем циклическую ссылку h1 логотипа на главной странице   Выведем последние комментарии в любом месте сайта — несколько вариантов   Включаем обслуживание gzip сжатия файлов на хостинге и в htaccess   Как к статье добавить блок ссылок на похожие по теме записи сайта
↔ перетаскивайте ленту ↔
ещё статьи по теме:

смотреть ещё статьи в теме Контент, шапка site: кодингS
меточная навигация:


Комментарии © 2 к статье: 14 полезных сниппетов — код для наилучшей работы сайта WordPress — функции

  1. Здравствуйте!
    Спасибо! для меня полезная статья… всё собрано (или почти всё) в одном месте.
    Было бы здорово, если бы Вы написали что-то по JS, который используете сами: например — «бегущая строчка» или кнопка «Скайп»…
    Спасибо, Михаил!

    Ответить - Вадим

    • Здравствуйте Вадим!
      Сам подумывал… но всё как-то времени не выберу…
      Как только напишу, сообщу вам…
      Спасибо за поддержку идеи!

      Ответить - Михаил

Поделитесь соображениями: Ваши мысли очень важны! $ правила комментирования ©

Внимание! Обязательные поля помечены *

  отныне доступен плагин: privacy-policy ©

 необходимо принять правила конфиденциальности и пользовательского соглашения
Яндекс.Метрика
?Skype консультация Skype консультацияЕсли вы выбрали для своего сайта WordPress и только-только начинаете изучать панель управления контентом, то этот вариант оnline консультаций — практически по любым вопросам — для вас! Skype онлайн