6 мощных премиум шаблонов wordpress

Подключения файлов темы (теория)

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

Например, мы заходим на страницу рубрики «Плагины» с ярлыком и id . Тогда для генерации кода этой страницы WordPress будет по очереди проверять наличие следующих файлов (проверка прервется на первом существующем файле):

Полная схема для всех видов страниц и их файлов выглядит так:

Еще одна схема, возможно она понятнее (старая):

Как отключить стандартные размеры миниатюр?

Иногда бывает необходимо отключить стандартные размеры миниатюр, которые создаются WordPress по умолчанию. Их есть всего 4:

  • миниатюра – 150×150 пикселей;
  • средний – 300×300 пикселей;
  • умеренный-крупный – максимальная ширина 768 пикселей (не показывается в разделе Медиафайлы);
  • крупный 1024×1024 пикселей.

Также дополнительные размеры могут создавать плагины или темы.

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

Для отключения размера «умеренный-крупный» нужно перейти по адресу /wp-admin/options.php и в опции medium_large_size_w задать значение .

Также это можно сделать специальным кодом, который нужно добавить в файл functions.php активной WordPress-темы.

function wpschool_remove_default_image_sizes( $sizes ) {
    return array_diff( $sizes, array(
        'thumbnail',
        'medium',
        'medium_large',
        'large',
    ) );
}
add_filter( 'intermediate_image_sizes', 'wpschool_remove_default_image_sizes' );

После этого обязательно нужно пересоздать миниатюры с помощью указанных выше плагинов (Ajax Thumbnail Rebuild или Regenerate Thumbnails).

Русификация темы WordPress

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

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

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

Совет! Шаблоны для WordPress нужно скачивать с официального ресурса. Использовать темы с «левых» сайтов, особенно, если они бесплатные, очень рискованно.

TheFour Lite

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

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

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

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

С помощью редактирования файлов

Используем данный способ перевода темы, если в ней нет файла pot. Внизу есть надпись COPYRIGHT, давайте переведем.

Текст в подвале

По логике вывод надписи должен быть в footer.php. Откроем через стандартный редактор кода в панели WordPress.

Изменяем footer

  1. Заходим в редактор
  2. Ищем подвал в правой колонке
  3. Нашли вывод надписи
  4. Переименовываем
  5. Обновляем
  6. Написал Копирайт и обновил.

Изменения

Посоле перешел на сайт, проверил работу.

Результат ручного метода

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

  • Смотрим на блог
  • Видим надписи для исправления
  • Ищем фразы в файлах темы WordPress
  • Меняем текст на русский и сохраняем изменения

Процесс будет долгим, если честно, то процентов 10-15 не сможете обработать, потому что они закодированы через ядро WP.

Changelog

For more information, see Releases.

5.1.7

  • CSS: Adds an explicit LTR direction style rule for code inputs.
  • Accessibility: Uses Error instead of ERROR in warnings.

5.1.6

  • CSS: removes a style rule from the stylesheet that was unnecessary and conflicting with Twenty Twenty’s rules.
  • REST API: retrieves the contact form ID explicitly from the route parameters.

5.1.5

  • Config Validator: New test item for the unavailable_html_elements error.
  • Config Validator: New test item for the attachments_overweight error.

5.1.4

  • reCAPTCHA: introduces the WPCF7_RECAPTCHA_SITEKEY and WPCF7_RECAPTCHA_SECRET constants.
  • reCAPTCHA: Introduces the wpcf7_recaptcha_sitekey and wpcf7_recaptcha_secret filter hooks.
  • Adds $status parameter to the wpcf7_form_response_output filter.
  • Creates a nonce only when the submitter is a logged-in user.
  • Introduces WPCF7_ContactForm::unit_tag(), a public method that returns a unit tag.
  • reCAPTCHA: gives a different spam log message for cases where the response token is empty.
  • Acceptance Checkbox: supports the label_first option in an acceptance form-tag.

5.1.2

  • Constant Contact: Introduces the contact list selector.
  • Constant Contact: Introduces the constant_contact additional setting.
  • reCAPTCHA: Introduces the wpcf7_recaptcha_actions and wpcf7_recaptcha_threshold filter hooks.

5.1

  • Introduces the Constant Contact integration module.
  • Updates the reCAPTCHA module to support reCAPTCHA v3.
  • Adds Dark Mode style rules.

5.0.5

  • Fixes the inconsistency problem between get_data_option() and get_default_option() in the WPCF7_FormTag class.
  • Suppresses PHP errors occur on unlink() calls.
  • Introduces wpcf7_is_file_path_in_content_dir() to support the use of the UPLOADS constant.

5.0.4

  • Specifies the capability_type argument explicitly in the register_post_type() call to fix the privilege escalation vulnerability issue.
  • Local File Attachment – disallows the specifying of absolute file paths referring to files outside the wp-content directory.
  • Config Validator – adds a test item to detect invalid file attachment settings.
  • Fixes a bug in the JavaScript fallback function for legacy browsers that do not support the HTML5 placeholder attribute.
  • Acceptance Checkbox – unsets the form-tag’s do-not-store feature.

5.0.3

  • CSS: Applies the “not-allowed” cursor style to submit buttons in the “disabled” state.
  • Acceptance Checkbox: Revises the tag-generator UI to encourage the use of better options in terms of personal data protection.
  • Introduces wpcf7_anonymize_ip_addr() function.
  • Introduces the consent_for:storage option for all types of form-tags.

5.0.2

  • Added the Privacy Notices section to the readme.txt file.
  • Updated the Information meta-box content.
  • Use get_user_locale() instead of get_locale() where it is more appropriate.
  • Acceptance Checkbox: Reset submit buttons’ disabled status after a successful submission.

5.0.1

  • Fixed incorrect uses of _n().
  • Config validation: Fixed incorrect count of alerts in the Additional Settings tab panel.
  • Config validation: Fixed improper treatment for the special mail-tag in the From mail header field.
  • Acceptance checkbox: The class and id attributes specified were applied to the wrong HTML element.
  • Config validation: When there is an additional mail header for mailboxes like Cc or Reply-To, but it has a possible empty value, “Invalid mailbox syntax is used” error will be returned.
  • Explicitly specify the fourth parameter of add_action() to avoid passing unintended parameter values.
  • Check if the target directory is empty before removing the directory.

5.0

  • Additional settings: on_sent_ok and on_submit have been removed.
  • New additional setting: skip_mail
  • Flamingo: Inbound channel title changes in conjunction with a change in the title of the corresponding contact form.
  • DOM events: Make an entire API response object accessible through the event.detail.apiResponse property.
  • HTML mail: Adds language-related attributes to the HTML header.
  • File upload: Sets the accept attribute to an uploading field.
  • Introduces the WPCF7_MailTag class.
  • Allows aborting a mail-sending attempt using the wpcf7_before_send_mail action hook. Also, you can set a custom status and a message through the action hook.
  • Acceptance checkbox: Allows the specifying of a statement of conditions in the form-tag’s content part.
  • Acceptance checkbox: Supports the optional option.
  • New special mail tags: , , , , , , , , , , , and
  • New filter hooks: wpcf7_upload_file_name, wpcf7_autop_or_not, wpcf7_posted_data_{$type}, and wpcf7_mail_tag_replaced_{$type}
  • New form-tag features: zero-controls-container and not-for-mail

Журнал изменений

Version 3.1.0

  • Bring back the ability to delete old, unregistered thumbnail sizes. Support for updating post contents is still disabled (too buggy).
  • Various code improvements including string localization disambiguation.

Version 3.0.2

  • Fix slowdown in certain cases in the media library.
  • Fix not being able to regenerate existing thumbnails for single images. Props @idofri.
  • Fix JavaScript error that could occur if the REST API response was unexpected (empty or PHP error).
  • Fix bug related to multibyte filenames.
  • If an image is used as the featured image on multiple posts, only regenerate it once instead of once per post.

Version 3.0.1

  • Temporarily disable the update post functionality. I tested it a lot but it seems there’s still some bugs.
  • Temporarily disable the delete old thumbnails functionality. It seems to work fine but without the update post functionality, it’s not as useful.
  • Try to more gracefully handle cases where there’s missing metadata for attachments.
  • Wait until to initialize the plugin so themes can filter the plugin’s capability. is too early.
  • Fix a JavaScript error that would cause the whole regeneration process to stop if an individual image returned non-JSON, such as a 500 error code.
  • Accept GET requests for the regenerate REST API endpoint instead of just POSTs. For some reasons some people’s sites are using GET despite the code saying use POST.
  • Make the attachment ID clickable in error messages.
  • Fetch 25 attachments at a time instead of 5. I was using 5 for testing.
  • PHP notice fixes.

Version 2.2.4

Better AJAX response error handling in the JavaScript. This should fix a long-standing bug in this plugin. Props Hew Sutton.

Version 2.2.3

Make the capability required to use this plugin filterable so themes and other plugins can change it. Props Jackson Whelan.

Version 2.2.2

Don’t check the nonce until we’re sure that the action called was for this plugin. Fixes lots of «Are you sure you want to do this?» error messages.

Version 2.2.0

Changes to the Bulk Action functionality were made shortly before the release of WordPress 3.1 which broke the way I implemented the specific multiple image regeneration feature. This version adds to the Bulk Action menu using Javascript as that’s the only way to do it currently.

Version 2.1.3

Move the error_reporting() call in the AJAX handler to the beginning so that we’re more sure that no PHP errors are outputted. Some hosts disable usage of set_time_limit() and calling it was causing a PHP warning to be outputted.

Version 2.1.2

  • When regenerating all images, newest images are done first rather than the oldest.
  • Fixed a bug with regeneration error reporting in some browsers. Thanks to pete-sch for reporting the error.
  • Supress PHP errors in the AJAX handler to avoid sending an invalid JSON response. Thanks to pete-sch for reporting the error.
  • Better and more detailed error reporting for when fails.

Version 2.1.0

Множество новых функций!

  • Thanks to a lot of jQuery help from Boris Schapira, a failed image regeneration will no longer stop the whole process.
  • The results of each image regeneration is now outputted. You can easily see which images were successfully regenerated and which failed. Was inspired by a concept by Boris.
  • There is now a button on the regeneration page that will allow you to abort resizing images for any reason. Based on code by Boris.
  • You can now regenerate single images from the Media page. The link to do so will show up in the actions list when you hover over the row.
  • You can now bulk regenerate multiple from the Media page. Check the boxes and then select «Regenerate Thumbnails» form the «Bulk Actions» dropdown. WordPress 3.1+ only.
  • The total time that the regeneration process took is now displayed in the final status message.
  • jQuery UI Progressbar version upgraded.

Version 2.0.2

Directly query the database to only fetch what the plugin needs (the attachment ID). This will reduce the memory required as it’s not storing the whole row for each attachment.

Version 2.0.0

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

Brooklyn

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

Вы ищете лучшие темы и плагины WordPress?

Загрузите лучшие плагины и темы WordPress на Envato и легко создайте свой сайт. Уже больше, чем 49.720.000.

PLUGINS

ШАБЛОНЫ

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

Вы можете отображать ваш качественный контент, благодаря неограниченному ассортименту портфолио. Эта тема WordPress может быть полностью переведена и может отображать ваши хорошо написанные статьи на любом языке. Brooklyn также бесплатно интегрирует плагин Revolution Slider. Это позволяет легко создавать слайды, которые продемонстрируют ваши лучшие работы.

| Демо | веб-хостинг

Freesia Empire

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

Freesia Empire позволяет создавать сайт с лёгким и функциональным дизайном. Тема без труда сопрягается с многими популярными плагинами, включая WooCommerce, bbPress, Newsletter и Breadcrumb NavXT, что значит, вы можете продавать, а ваши посетители удобно пользоваться предоставляемыми на сайте услугами. Эта тема также предлагает много шаблонов страниц, таких как страница контактов и галереи. Каждая предлагает специальные виджеты и боковые панели конкретной направленности, благодаря чему вы можете подстроится именно под свою аудиторию.

Как русифицировать WordPress, используя плагин?

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

    1. Чтоб воспользоваться плагином, первый шаг — это скачать его и установить. В консоли находим Плагины-Добавить новый.
    2. В окне поиска вводим CodeStyling Localization и жмем Поиск.
    3. Когда поисковик его найдет, нажимаем Установить, а далее Активировать.
    4. В меню консоли сбоку выбираем Инструменты-Локализация.
    1. Появится список, состоящий из локализаций WordPress, установленных тем и плагинов. Внизу будет размещено название нужной темы.  Если ее нет, то русифицировать тему придется способом, указанным выше.

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

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

Многие фразы отображаются с %s в конце. От этих внешних ссылок в отдельных случаях можно избавиться. Например, перевод «Powered by %1$s and %2$s theme by %3$s» можно заменить «Сайт на WordPress» без ссылок.

Переводить все имеющиеся фразы не обязательно, только самые важные. Проверив и отредактировав перевод, нажимаем над списком фраз Генерировать mo-файл.

Выполнив все этапы и поняв как русифицировать шаблон wordpress, плагин CodeStyling Localization можно смело удалить, так как даже после этого все .po и .mo файлы сохранятся.

The Minimal

Как уже ясно из названия The Minimal – это понятная и простая тема WordPress. Исходя из этого мы рекомендуем её преимущественно для блогеров, журналистов и авторов (хотя и для многих других тематик сайтов может оказаться ценным такой подход к дизайну). С The Minimal вы можете подать свой контент в самом выгодном виде.

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

Собственная разметка страниц

Одной из главных «фишек» шаблона является функция PageBuilder, которая позволит вам без знаний PHP, HTMLили CSSв считаные минуты создать особенный и по-своему уникальный сайт. Всё делается с помощью перетаскивания различных элементов и модулей в панели управления. Для продвинутых же администраторов существует возможность работать напрямую с хорошо задокументированным кодом и API макро-кодов. В админ-панели также можно найти уже готовые варианты оформления — например, 4 вида главной страницы, несколько дочерних шаблонов раздела «Об авторе» и 6 видов страницы с контактами. Ещё есть по одному варианту оформления FAQ, галерей, портфолио и даже страницы ошибки 404. Установка всего, как уже было сказано, производится из панели управления темой, о которой подробнее написано ниже.

Flash

Если вам нужна тема с премиальными функциями, включая пользовательские виджеты, drag-and-drop конструктор страниц и встроенный механизм создания портфолио и бесплатно, Flash должен возглавить ваш список тем. Эта уникальная бесплатная тема предлагает несколько готовых демо, которые вы можете легко установить на своем сайте с помощью Demo Importer ThemeGrill. Конечно, у вас также есть возможность (и необходимые инструменты) для создания своего собственного сайта. С помощью Flash вы можете создать блог, бизнес-сайт или одностраничный сайт-портфолио.

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

Журнал изменений

1.8.3

  • Bugfix: Visual fix in container and box editor
  • Library Bugfix: Problems with slots in reusable containers
  • Library update: simplepie from 1.3.1 to 1.5.2

1.8.1

  • Feature: New configuration boxes
  • Hook: position of grid is hookable
  • Fix: Soundcloud box color support
  • Feature: added filter for grid_post_box metaSearch results

1.8.0

  • WordPress 5.0 support
  • Optimization: Reorganized admin menu items
  • Optimization: Meta Box appearance
  • Optimization: Reusable Containers list appearance
  • Feature: Find posts by id in content boxes
  • Fix: Database error with body_class filter on page without post context like 404 page

1.7.15

  • Optimization: Clean hook distinction between notify and alter
  • Optimization: jQuery File Upload update because of security fix in library

1.7.14

  • Feature: Added new filter grid_box_alter_content_structure to modify content structure in box editor.
  • Optimization: Add body class if grid should be rendered.
  • Bugfix: Using in html box was crashing the grid editor.

1.7.11

Bugfix: avoid doublets backwards compatibility broke with admin only function. it’s not backwards compatible now. See upgrade notice!

1.7.10

  • Feature: Extendable posts box with two new filter grid_posts_box_content_structure and grid_posts_box_query_args
  • Bugfix: Recursion fix with posts placed on posts that are placed on these posts
  • Bugfix: Prevent rendering grid in case of empty get_the_excerpt call

1.7.9

  • Bugfix: sidebars not editable or assignable
  • Bugfix: autocomplate with links
  • Optimization: Debug box with autocomplete with links placeholder

1.7.8

  • Feature: new grid box: debug! Only available if WP_DEBUG is true. Has all input types.
  • Optimization: mysql connection error handling

1.7.7

  • Bugfix: autocomplete fields in reusable boxes or boxes in reusable containers not working
  • Optimization: additional information in db_query error_log

1.7.6

  • Refactoring: deprecated icon function fix on settings page
  • Optimization: do not expose queries on mysql error
  • Bugfix: close mysql connection on uninstall

1.7.4

  • Feature: new actions grid_publishGrid, grid_destroyGrid, grid_save_container, grid_delete_container, grid_save_slot, grid_save_box, grid_delete_box
  • Bugfix: epilog and prolog script safe

1.7.3

  • date query configuration for posts box. before and after date restriction possibility added.
  • new box widget type input that allows to use all kings of HTML input types
  • async bug fix: empty user display_name were not locking multiple edited grids

1.7.1

  • templates in child theme support
  • grid/default-frontend.css support in child theme
  • reusable boxes are rendered in sidebar like in grid
  • grid async features fix

1.7.0

added new actions grid_createGrid, grid_publishGrid, grid_destroyGrid, grid_cloneGrid, grid_createContainer

  • Sometimes boxes cannot be moved on grid load fix
  • Use of apostroph in box editor text and html fields bugfix
  • getRaw() method grid_rss_box_item
  • Fixed warnings with PHP 7.*
  • grid style tables slug key added
  • List box can filter by post format
  • Container will render hook added
  • Container did render hook added
  • Slot will render hook added
  • Slot will render hook added
  • Imagepreview in grid box editor
  • Posts box shows empty categories
  • Settings for post search on grid
  • refactoring to object orientation
  • Empty reuse container title bug
  • Default templates update
  • Grid box inheritance
  • Latest contents on empty contents search
  • Grid jumping on dragging new box fix
  • more revisions loader on scroll
  • loading opration overlay

1.3.3

  • Post Types Landing Page and Sidebar can be disabled in Grid settings
  • Autocomplete false locking fix
  • New editor CSS filter
  • unpublished posts fix in post grid box

1.3

  • SQL injection security fix
  • UI language fix
  • install fix
  • facebook and twitter box separated to «grid social boxes» Grid Social Boxes plugin
  • multisite support
  • autocomplete fieldtype performance optimization
  • plugin hook for templates added
  • plugin hook for editorwidgets
  • template rendering optimized
  • «Switch to Grid» Button moved to editor sidebar
  • implemented uninstall hook

Автоматический перевод

Для плагина Loco Translate есть дополнительная надстройка, помогающая автоматически делать целиком перевод тем. Вводим в поиске по плагинам такой текст Loco Automatic Translate Addon, устанавливаем и активируем.

Loco Automatic Translate Addon

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

Панель Loco Automatic Translate Addon

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

API key

Откроется страница, находим Create a new key, и система автоматически сгенерирует ключ, копируем его.

Генерируем и копируем ключ

Идем в плагин, вставляем в поле и нажимаем save.

Сохранение настроек

Если синхронизация прошла успешно, то красной надписи ошибки не будет. В панели появится новая кнопка Auto Translate, нажимая на нее, инструмент начинает делать запросы к Яндексу и вставлять фразы. Как только процесс закончится, появиться всплывающее окно, для окончания жмем OK.

Запуск автоматического перевода темы WordPress

Плагин WordPress не смог обработать 2% фраз, можете их поискать и вручную исправить, либо оставить. У автоматики есть не точности.

Ошибки в работе

Видео инструкция

FlatOn

Так как минимализм в тренде, не удивительно, что сайты с плоским дизайном (flat-design) очень распространились за последние годы. Как бы там ни было, они предлагают простоту и элегантность вместе с гарантией сохранения фокуса на вашем контенте. FlatOn – это очень стильная тема и она может быть использована для создания множества прекрасных сайтов с минимальными усилиями.

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

Система шаблонов WordPress

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

Рассмотрим отдельно, как создать произвольные шаблоны для Категории, Записи и Страницы.

Произвольный шаблон для рубрики

Для вывода страницы категории (рубрики) WordPress использует следующую иерархию:

category-{SLUG}.php -> category-{ID}.php -> category.php -> archive.php -> index.php

Это означает, что поначалу “движок” пытается использовать шаблон для отдельной категории, используя ее идентификатор (слаг или ярлык). Например, для рубрики Мониторы со слагом monitors файл шаблона должен иметь название category-monitors.php. В случае, если такой файл отсутствует, то будет попытка использовать шаблон с уникальным идентификатором категории, например, 55. В таком случае система будет искать файл category-55.php. Если и такого шаблона нет, то будут использован общий шаблон для всех рубрик – category.php. При его отсутствии задействуется общий шаблон архивов (archive.php). Если ни один из перечисленных шаблонов не был найден, то для отображения рубрики будет использован самый главный файл – index.php.

Как создать шаблон для категории?

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

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

Для создания уникального шаблона нужно перейти в папку Вашей активной темы (wp-content\themes\НАЗВАНИЕ_ТЕМЫ) и создать там файл с именем category-monitors.php, в котором задать нужный Вам вывод страницы категории Мониторы.

В итоге будет открыта страница редактирования категории

Теперь нужно обратить внимание на адресную строку Вашего веб-браузера и найти там следующее:

/wp-admin/term.php?taxonomy=category&tag_ID=3

Параметр tag_ID=3 означает, что наша рубрика Мониторы имеет идентификатор 3. Теперь нужно снова перейти в каталог с темой и создать там файл со следующим именем:

category-3.php

Важно отметить, что оба способа будут работать также и с дочерними темами

Как создать шаблон для страницы?

Для вывода страниц, WordPress действует по следующей схеме:

page-{SLUG}.php -> page-{ID}.php -> page.php -> index.php

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

/wp-admin/post.php?post=167

Значение 167 параметра post и есть уникальный идентификатор страницы.

Как создать шаблон для записи?

Для вывода содержимого отдельной записи WordPress использует следующую иерархию шаблонов:

single-{SLUG}.php -> single-{ID}.php -> single.php -> index.php

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

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

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

  1. Создать в каталоге темы файл single-monitors.php.
  2. Сделать копию файла single.php, назвав ее, например, single-default.php.
  3. Открыть файл single.php, удалить все содержимое и вставить следующий код:
<?php $post = $wp_query->post;
if ( in_category( '3' ) ) { //ID категории
    include( TEMPLATEPATH.'/single-monitors.php' );
} else {
    include( TEMPLATEPATH.'/single-default.php' );
}
?>

или вместо уникального идентификатора категории можно вставить ее слаг:

<?php $post = $wp_query->post;
if ( in_category( 'monitors' ) ) { //слаг категории
    include( TEMPLATEPATH.'/single-monitors.php' );
} else {
    include( TEMPLATEPATH.'/single-default.php' );
}
?>

Что делает этот код? Мы явно даем понять “движку”, что если выбранная категория имеет ID со значением 3 или ее слаг равен “monitors”, то в таком случае следует подключить шаблон single-monitors.php. Во всех остальных случаях будет задействован файл single-default.php.

Мне нравитсяНе нравится

Заключение

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

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

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

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

Например:

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

Возможности ограничены только вашим воображением!

Данная публикация представляет собой перевод статьи «Working with Classes and IDs Generated By WordPress» , подготовленной дружной командой проекта Интернет-технологии.ру

Ссылка на основную публикацию