이 플러그인은 최근 3개의 주요 워드프레스 출시와 시험 되지 않았습니다. 워드프레스의 좀 더 최근 버전으로 이용할 때 더 이상 관리되지 않고 지원되지 않고 호환성 문제가 있을 수 있습니다.

Template Map

설명

Template Map is a utility plugin designed to make the creation and management of navigation elements in your custom theme that much easier. It abstracts the need to hard code post IDs and the like from your global and header navigation systems (if you choose to not use Menus) for instance.

For Example

Many times you may use something like the following to build your main site navigation:

<nav>
  <ul>
    <li>
      <a href="<?php echo get_permalink( 83 ); ?>">About</a>
    </li>
  </ul>
</nav>

That works great during initial development, and continues to hold up when you migrate to production en masse for the first time. But what about when you’re making subsequent updates and the post IDs in your development environment are different than those in production? You could take the time to sync the databases each and every time, but that’s a bit overkill. Here’s where Template Map comes in to play:

<nav>
  <ul>
    <li>
      <?php $about_page_id = TemplateMap()->get_id_from_template( 'template-about.php' ); ?>
      <a href="<?php echo get_permalink( $about_page_id ); ?>">About</a>
    </li>
  </ul>
</nav>

Template Map allows you to dynamically retreive your desired post ID based on the Page Template you told it to use. Page Template filenames rarely (if ever) change, so it’s the core concept of Template Map’s implementation. Everything works backwards from here.

Naturally this philosophy assumes your Page Template is used only once, it’s important to keep that in mind. Modern client sites often use unique Page Templates for the ‘parent’ pages of each site section.

Current Site Section

Template Map also makes it easier to determine whether the current page is within a site ‘section’ which is defined as a top level Page with a unique Page Template that has any number of child Pages and/or Custom Post Types within it. This is very useful when trying to set a ‘current’ state in your navigation, for example:

<nav>
  <ul>
    <li class="<?php if( TemplateMap()->maybe_in_section( 'template-about.php' ) ) : ?> current<?php endif; ?>">
      <?php $about_page_id = TemplateMap()->get_id_from_template( 'template-about.php' ); ?>
      <a href="<?php echo get_permalink( $about_page_id ); ?>">About</a>
    </li>
  </ul>
</nav>

Based on the same principle you can use this utility method to properly orient yourself when outputting conditional classes contingent on the current page being within a ‘secton’ on your site.

설치

  1. Upload templatemap to the /wp-content/plugins/ directory
  2. 워드프레스의 ‘플러그인’ 메뉴에서 플러그인을 활성화하세요.
  3. Replace calls to get_permalink( 83 ) with get_permalink( TemplateMap()->get_id_from_template( 'template-about.php' ) ) where template-about.php is the Page you wish to link

FAQ

How do I define Custom Post Types within a section?

There’s a filter for that. template_map_post_types accepts two parameters, the second of which is the Page Template filename in question. You can conditionally return an array of CPT names that will be utilized when checking to see whether the current page is within the section in question.

후기

이 플러그인에 대한 평가가 없습니다.

기여자 & 개발자

“Template Map”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 플러그인에 기여하였습니다.

기여자

자국어로 “Template Map”(을)를 번역하세요.

개발에 관심이 있으십니까?

코드 탐색하기는, SVN 저장소를 확인하시거나, 개발 기록RSS로 구독하세요.

변경이력

1.0.1

  • When using maybe_in_section you can pass a 2nd parameter to force a parent ID

1.0

  • 초기 릴리즈