Как создать дочернюю тему wordpress

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

Моя задача – в установленном новом шаблоне внести небольшие правки в файл functions.php, они позволят ускорить загрузку блога.

Почему мне пришлось менять шаблон, я писала тут.

Дочерняя тема wordpress, что это такое

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

Она находится в отдельной папке, содержит свои собственные (обязательные) файлы style.css и functions.php. Если требуется можно загрузить дополнительные файлы, которые будут изменены.

Как сделать дочернюю тему Вордпресс? У себя на хостинге (у меня Спринтхост), в папке domains/ваш-сайт.ru/public_html/wp-content/themes/ создайте новую папку.

Работать можете через FTP Client FileZilla, как это сделать написано тут, либо непосредственно через админку хостинга.

Как создать

Для нормальной работы дочерней темы потребуется только два файла: style.css и functions.php.

СТАТЬИ ПО ТЕМЕ:

Как добавить файл sitemap в яндекс и google

Как установить тему wordpress, настроить, удалить шаблон Вордпресс

Блог на движке WordPress. Что это такое?

Полностью дублировать родительские файлы не обязательно. Добавляйте только те, в которых будут изменения.
как создать дочернюю тему
Назовите папку произвольно, обычно дочерние темы имеют окончание child (ребенок).
создание дочерней темы
В папке создайте пустой файл с именем style.css.
дочерняя тема вордпрессwordpress сделать тему
В нем пропишите следующий код, вот как написано у меня

/*
Theme Name: kasa-green-child
Theme URI: https://moi-start.ru/
Description: Это специальная дочерняя тема.
Author: novichok
Author URI: https://moi-start.ru/
Template: kasa-green
Version: 1
*/
// дополнительные стили
.foo{ color:red; }
/*


В дополнительных стилях прописываем только то, что надо изменить. Можете изменить цвет, размер элементов шаблона, через css подключить новые изображения.

Обратите внимание на строчку Template: kasa-green. Название kasa-green я скопировала вот из оригинального шаблона. По нему WordPress опознает дочернюю тему. дочерняя тема
Если записать название неправильно, новые файлы окажутся поврежденными. Дочерняя тема просто не установится, поскольку WordPress не сможет найти шаблон-родитель, стили будет загружать неоткуда.

В этой же папке создайте файл functions.php, в него напишите код, зарегистрируйте стили дочерней темы.

<?php
add_action('wp_enqueue_scripts', 'my_theme_styles' );
function my_theme_styles() {
	wp_enqueue_style('parent-theme-css', 
get_template_directory_uri() .'/style.css' );
	wp_enqueue_style('child-theme-css', 
get_stylesheet_directory_uri() .'/style.css', 
array('parent-theme-css') );
}


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

В некоторых источниках советуют использовать код @import url ("../kasa-green/style.css");.

Я попробовала, мне не подошло.

При медленном интернете метод не работает. Сначала грузятся стили дочерней темы, затем браузер натыкается на директиву @import и начинает грузить стили родительской темы… Слишком долго, посетители ждать не станут.

Создание дочерней темы завершено, надо ее активировать. Проверила, все работает.

Не хватает только подходящего скриншота. Его тоже можно добавить в только что созданную папку themes/kasa-green-child. Тогда дочерняя тема обретет симпатичное "лицо".дочерняя тема wordpress
Обратите внимание, родительскую тему удалять нельзя. Они работают в паре.

Зачем нужна дочерняя тему wordpress

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

Создала, все работает. Сейчас в файл functions.php своей дочерней темы добавлю нужные коды. Ради них я ее и сделала.

Уменьшение запросов к базе данных

ДЛЯ УДАЛЕНИЯ лишних строчек (ссылок на feed, rss, на ).

/* удаляем лишние строчки */
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'wlwmanifest_link' );
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', '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', 'profile_link' );
/* удаляем лишние строчки */

Удаление версий из стилей и скриптов

Это сделает код более чистым.

// Удаление параметра ver из добавляемых скриптов и стилей

function rem_wp_ver_css_js( $src ) {

    if ( strpos( $src, 'ver=' ) )

        $src = remove_query_arg( 'ver', $src );
    return $src;
}
add_filter( 'style_loader_src', 'rem_wp_ver_css_js', 9999 );

add_filter( 'script_loader_src', 'rem_wp_ver_css_js', 9999 );
/* удаляем параметр ver */

Отключение heartbeat

Необходимо, чтобы снизить нагрузку на хостинг, как рекомендовано в этой статье

/*отключить heartbeat------------------ */ 
add_action('init', 'stop_heartbeat', 1);
function stop_heartbeat() {
 wp_deregister_script('heartbeat');
 }

Удаление replytocom

ИЗБАВЛЮСЬ от ссылок replytocom (ранее созданных)

/* -------------------------------------- */ 
/* избавление от ссылки replytocom */ 
add_filter('comment_reply_link','avd_custom_comment_reply_link'); 
function avd_custom_comment_reply_link( $link ) 
{$link = preg_replace( '~href=([\'"]{1})([^\'"]+)#([^\'"]*)([\'"]{1})~i', 
'href=$1#$3$4', $link, 1); return $link;} 
/* избавление от ссылки replytocom */

Микроразметка для изображений

ДОБАВЛЮ микроразметку к картинкам

/* микроразметка изображений=============================== */
function micro_image($content) { 
global $post; $pattern = "<img"; 
$replacement = '<img itemprop="image"'; 
$content = str_replace($pattern, $replacement, $content); 
return $content; 
} 
add_filter('the_content', 'micro_image');
/* ========================================================== */

Сокрытие ссылок на сайт комментаторов

СКРОЮ ссылки на авторов комментариев. Зачем, написано тут

/*сокрытие ссылок на автора комментария*/ 
function hidden_comment_author_link( $hidden_link )
{ $hidden_link = str_replace( array('<a', '</a>', 'href='), 
array('<span class="spanlink"', 
'</span>', 'rel='), $hidden_link ); return $hidden_link; } 
add_filter( "get_comment_author_link", "hidden_comment_author_link" ); 
/*сокрытие ссылок на автора комментария*/

Заключение

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

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

Понравилась статья? Поделиться с друзьями:
Я новичок
Комментарии: 15
  1. Алексей

    Ольга, вы молодец, что так удачно справляетесь с битыми ссылками. А у меня Стояла тема WP и создавала в 4 раза больше линков на картинки, тем создавала нагрузку на сайт. При уничтожении, сайт начал еще больше сбоить. Теперь поменял тему, но с ней еще больше возросло количество битых линков. Сайт попал под фильтр Яндекса и теперь необходимо срочно избавляться от битых гиперссылок. На одном их сайтов вы написали, что пользуетесь бесплатной версией Линкоскоп. Я много слышал об этой программе и собираюсь ее купить. А каким образом вы пользуетесь бесплатной программой и как она работает с битыми ссылками, где об этом можно узнать?

    1. Ольга (автор)

      Алексей, программа помогает обнаружить наличие битых линков и место их расположения. Убирать их все равно приходится вручную. А о программе Линкоскоп много информации в сети.

  2. Геннадий

    Проблема определения битых ссылок пол-дела, а вот удалить сложнее.

  3. Ольга

    Согласна с Вами, Геннадий. Полдела найти битые ссылки, значительно сложнее — их удалить (если они к коде шаблона). Но проверять свой блог надо систематически. Блоги имеют обыкновение «умирать», а ссылки в комментариях остаются. Такие ссылки приходится искать и убирать. Иначе собственный ресурс в глазах поисковиков будет выглядеть подозрительно.

  4. Андрей

    Приветствую. У меня такая проблема:увидел, что на моем сайте http : //vkusnoicmachno.ru/, есть внешняя ссылка на порно сайт. В шаблоне ее нет, она появилась недавно. Как мне ее найти на сайте? Плагин который «рубит ссылки» установить не могу — так как продаю ссылки на бирже гогетлинкс. Спасибо.

    1. Ольга (автор)

      Андрей. Сервис pr-cy показывает, что такая ссылка у Вас есть.
      Я набрала адрес Вашего сайта — главную страницу, открыла ее исходный код (правая клавиша мыши, исходный код страницы), одновременно нажала CTRL+F. В открывшееся окно вставила адрес плохой ссылки.

      Ее подсветило в футере. Откройте редактор шаблона, футер. CTRL+F, введите адрес ссылки. Если она не закодирована, увидите ее. Если закодирована — убрать будет сложнее.

  5. янина

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

    1. Ольга (автор)

      Янина, по-другому от битых ссылок не избавиться, только устранить ошибку — причину их появления.

  6. Серегей

    Спс за полезную статью, именно то что искал)

  7. Александр

    Установил себе на оба сайта плагин Broken Link Cheker,но на одном сайте работает,и показывает количество «ненормальных ссылок».А на другом всё время пишет что всё в порядке,в чём я конечно очень сомневаюсь.

    1. Ольга (автор)

      От Broken Link Cheker избавилась. Барахлил все время.

  8. Таня

    На моем сайте http: // zdes-kino.ru/ около 700 битых ссылок, удалять или исправлять их вручную это масса времени! Есть ли способ удаления битых ссылок с сайта и бд в больших количествах?

    1. Ольга (автор)

      Установите плагин Broken Link Checker. Он обнаружит битые ссылки, из панели плагина можно будет их отредактировать.

  9. gr93.ru

    Здравствуйте! У меня на сайте плагин Broken Link Checker из 40 битых ссылок нашёл только 1 ссылку.Подскажите пожалуйста более подробно где и как нужно удалять битые ссылки вручную? Спасибо.

    1. Ольга (автор)

      Плагин показывает, на какой странице битая ссылка. Открываете ее и удаляете битую ссылку вручную.
      Сервис brokenlinkcheck.com битых ссылок у вас не нашел.

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

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