Куда вставить код? Окончательный ответ тут!

Здравствуйте, ребята!

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

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

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

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

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

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

Теперь объясню все подробно в текстовом формате.

Файлы, отвечающие за вывод каждого типа страниц

Если вы читали много статей на других блогах о реализации каких-то функций с помощью кодов (скриптов), то уверен на все 100%, что видели фразы наподобие:

  • Вставляете этот код в файл, отвечающий за вывод главной страницы;
  • Вставляете этот код в файл, отвечающий за вывод записей и другие.

Файлов, в которые может потребоваться вставлять коды, много. Но, что это за файлы? Все очень просто.

  1. Вывод главной страницы - index.php;
  2. Вывод записей - файл single.php;
  3. Вывод страниц - файл page.php;
  4. Вывод архивов и рубрик - archive.php;
  5. Вывод подвала - footer.php;
  6. Вывод страницы поиска - search.php;
  7. Вывод сайдбара - sidebar.php;
  8. Файл стилей - style.css;
  9. Файл вывода страницы 404 - 404.php.

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

Осталось лишь ответить на вопрос, как же определить нужное место в каждом из файлов?

к содержанию ↑

Определяем место вставки кода

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

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

Первое место, идентичное для всех шаблонов - область в файле Header.php. Это открывающий и закрывающий теги <head></head>.

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

Данные теги размещены в самом верху файла Header.php.

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

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

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

Скрипты можно подключать не только, вставив их между тегами <head></head> в файле Header.php. Можно также их подгрузить через файл footer.php, тем самым ускорив загрузку страницы сайта.

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

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

Чтобы реализовать такой вариант, необходимо открыть файл footer.php и вставить скрипт перед закрывающимся тегом body. Находится он в конце содержимого файла, так как отвечает за окончание области страницы.

Как видим, все скрипты я вывел именно в данной области, перед закрывающим тегом </body> (выделил синей рамкой). Кстати, вывел их я через загрузку из файлов, а не размещением самих скриптов в данной области. После этого я значительно ускорил работу блога. Как это сделать, будет отдельная статья. Ждите!

Надеюсь, что когда вам будут говорить вставить код в эти области, вы без проблем все сделаете.

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

  • Вывод похожих записей;
  • Вывод формы подписки;
  • Вывод социальных кнопок и так далее.

Все эти вещи вставляются после основной части контента, то есть после окончания статьи. У каждого разный код шаблона и, поэтому, универсального ответа на вопрос "Где у меня заканчивается код вывода статьи?" просто нет.

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

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

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

  • Google Chrome - просмотр кода элемента;
  • Firefox - исследовать элемент;
  • Opera - проинспектировать элемент.

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

Переходим в просмотр кода элемента (Google Chrome). Жмем правой кнопкой мыши по пустой области страницы.

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

Вот, как выглядит эта панель.

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

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

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

Но тут одно замечание. Нам необходимо находить не просто строчки статьи, а именно блоки, в которых находится сам контент, так как в файлах шаблона статей нет. Там имеется только код, выводящий контент, и заключен он в блоки. Именно после закрывающего блочного тега </div> и нужно будет вставлять код.

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

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

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

Когда нащупаете такую часть шаблона, то жмете на кнопку мышки и данная часть становится активна. В панели просмотра кода элемента автоматически выделится строчка кода с данным блоком.

Как видим, данный блок имеет точно такое же название, как и во всплывающей подсказке при наведении.

Когда мы знаем название блока, в котором выводится основная часть статьи, мы можем пойти в необходимый файл и вставить после данного блока нужный нам код. Для примера возьмем файл вывода записи (single.php).

Открываю его в редакторе Notepad и ищу в коде строчку, которая начинается точно также, как в панели просмотра кода элемента.

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

Я как раз и вставил там социальные кнопки вместе с формой подписки на обновления.

На страницах они так и отображаются.

Аналогично происходит вставка и в другие файлы шаблона (страницы, рубрики, архивы...).

Без практики данный метод вставки вряд ли освоишь по тексту и изображениями. Поэтому, берите и пробуйте. Уверен, что все получится. Также в помощь видео в начале статьи.

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

Остался последний момент, который стоит освятить в данном пункте.

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

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

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

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

Красным цветом выделен открывающий тег, а синим- код, который был вставлен.

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

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

к содержанию ↑

Определение стилей оформления в шаблоне

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

Когда находим нужный элемент и кликаем на него, в правой области панели просмотра кода отображаются стили оформления для выбранного блока (элемента). Покажу стили для того же блока статьи, рассмотренного выше.

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

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

Поэтому, открываем файл стилей style.css и ищем строчку 890 в моем случае.

Тут можете их и отредактировать. Сохраняете файл и закачиваете на хостинг.

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

Настоятельно рекомендую вам также выполнять подобное редактирование любых файлов у себя на компьютере. Для этого вам нужно сначала скачать файлы к себе на компьютер со своего хостинга, использовав ftp клиент. Об этом я писал в данной статье. А затем просто открывать файлы любым удобным для вас редактором, который сможет открыть их. Я использую для этих целей Notepad.

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

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

Все, друзья. На этом заканчиваю. Жду ваших вопросов в комментариях. Во всем разберемся. До встречи в новых материалах.

С уважением, Константин Хмелев.

40 лет Победы51937Украина, Днепропетровская обл., г. Днепродзержинск,+38 093 338 11 41
Комментариев: 10
  • Добрый день!
    После раздумий относительно места вставки скриптов кнопки ВК "нравится" и блока группы ВК - поместил это всё в сайдбар. Ну а дальше возник вопрос - а можно ведь как то сделать, чтобы они не обновлялись в сайдбаре при переходах между страницами сайта? (было замечено, что часть содержимого сайдбара, которое было в шаблоне изначально, при переходах не обновляется)
    Спасибо,
    С уважением Дмитрий

    • Здравствуйте. Я не совсем понял, что значит не обновляется? Дело в загрузке скрипта. При каждой загрузке страницы грузится и скрипт. С этим ничего не поделаешь.

  • Очень полезная статья! После её прочтения и просмотра видео лично для меня многое прояснилось. Однако при работе по вашему методу возник вопрос: правлю единичную страницу (где пост целиком опубликован) - как у вас на видео, например. Перед соц. кнопками хотела вставить информацию, которая должна отображаться на всех подобных страницах (соц. кнопки у меня вставлены плагином). При просмотре кода элемента нахожу нужный блок, высвечивается его код, запоминаю. Теперь иду в файл singl.php и не нахожу там этого кода. Всё перечитала на несколько раз - бесполезно!..Вопрос - Константин, как можно узнать в каком файле расположен нужный мне код элемента?

    • Если соц. кнопки сделаны плагином, то ни в каком фале вы не найдете их код. Плагин автоматическим образом при загрузке страницы генерирует код социальных кнопок и размещает их уже в готовом коде страницы. Поэтому, нужно вручную размешать соц. кнопки в шаблоне, если плагин это позволяет, и перед этим кодом уже разместить что-то другое. Подобный распространенный момент касается и различных плагинов похожих записей, когда плагин размещает уже на сгенерированной странице свой блок сразу после текста и его никак оттуда не сдвинешь. Выход единственный - размещать код вывода блока похожих записей руками в самом шаблоне, а перед ним уже размещать что-либо другое. Именно так я и поступаю всегда. Если же речь идет о поиске какого-то элемента в файлах шаблона, чтобы узнать, что именно за файл его содержит, то это делается очень просто. Открывается редактор Notepad и функцией поиска по файлам (Поиск-найти в файлах) ищется конкретный элемент во всех файлах папки, которую мы выбираем.

  • Ясно, печально про код плагина... Как я поняла, здесь выхода два: либо руками размещать код на страницу (в моём случае код соц. кнопок) - как вы советуете, либо, если плагин это не позволяет сделать, воспользоваться плагином для вставки элемента в нужное место - типа Quick Adsense.

    • Не факт, что Quick Adsense поможет разместить элемент перед блоком плагина соц. кнопок, т.к. плагин соц. кнопок размещает текст сразу после текста во чтоб это ни стало. Конечно, в плагине Quick Adsense имеется функция размещения кода после текста статьи, но гарантии, что он разместит код именно сразу после текста, а не перед социальными кнопками, нет. Нужно пробовать.

  • Добрый день! Спасибо за статью, много полезной базовой информации.
    У меня немного другая сложность: нужно просто вставить код цели из яндекс метрики на кнопку, т.е. чтобы при нажатии на кнопку в яндекс метрике отображалось выполнение этой цели.
    Вставляю код, который указан в мануале яндекса: onclick="yaCounterCOUNTER_ID.reachGoal('TARGET_NAME'); return true;">
    Ссылка на этот мануал: https://yandex.ru/support/metrika-old/qanda/goals-qanda.xml

    Не могу понять в какое место рядом с кнопкой вставить. Вставлял перед заказать

    Вот такой код получался после моих изменений:
    заказать

    По какому принципу вставлять такие коды на кнопки?

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

  • куда вставить этот код theme_get_post_id(),
    'class' => theme_get_post_class(),
    'content' => theme_get_excerpt(),
    'after' => theme_get_metadata_icons( 'date,author,comments,edit', 'footer' )
    )
    );
    ?>

  • Искала информацию, куда вставить код по настройке push уведомления, нашла в статье. Спасибо

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

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