Ссылки на файлы и папки темы

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

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

  • get_header();
  • get_footer();
  • get_sidebar();

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

  • header-{your_custom_template}.php
  • footer-{your_custom_template}.php
  • sidebar-{your_custom_template}.php

Вы можете использовать теги шаблона с именем пользовательского шаблона как единственного параметра, пример:

  • get_header( ‘your_custom_template’ );
  • get_footer( ‘your_custom_template’ );
  • get_sidebar( ‘your_custom_template’ );

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

  • slug-template.php

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

get_template_part( ‘content’, ‘product’ );

Если вы хотите добавить больше организации в шаблоны, вы можете разместить их в своих собственных каталогах в папке темы. Предположим например, что вы добавите еще пару шаблонов контента для profiles и locations, и cгруппируете их в собственном каталоге называемым content-templates.

Иерархия темы для вашей темы называемой my-theme может выглядеть следующим образом. style.css и index.php включены для контекста.

  • themes
    • my-theme
      • content-templates
        • content-location.php
        • content-product.php
        • content-profile.php
      • style.css
      • index.php

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

  • get_template_part( ‘content-templates/content’, ‘location’ );
  • get_template_part( ‘content-templates/content’, ‘product’ );
  • get_template_part( ‘content-templates/content’, ‘profile’ );

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

Чтобы сослаться на каталоги темы, вы можете использовать следующие функции:

get_template_directory_uri();
get_stylesheet_directory_uri();

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

echo get_template_directory_uri() . ‘/images/logo.png’;

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

Динамическое создание ссылок в шаблонах

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

<a href=»<?php echo get_permalink(ID); ?>»>Это ссылка</a>

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

Навигация по разделам:

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

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