TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Как назначить шаблон по умолчанию для страниц кастомного типа (Template For Custom Type)

1 658

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

Важная информация

В моём примере шаблон будет создаваться для кастомного типа “aktsii”.

Любые кастомные типы, постов включая и “aktsii” я создаю при помощи плагина Custom Post Type UI

Создание файла шаблона single-название кастом тайпа.php

Для начала нам необходимо скопировать файл single.php который находится в корне темы.

В данном примере я буду пользоваться темой Zita, соответственно пример будет именно для данной темы

Теперь переименуем его в формате single-[Slag кастомного типа].php то есть у нас получится файл с таким названием:

single-aktsii.php

Содержимое файла шаблона

Теперь необходимо модифицировать данный файл в соответствии своим предпочтениям, у меня он получи такое содержание:

<?php /** * The template <span class="hljs-keyword">for</span> displaying all single posts * @link https:<span class="hljs-regexp">//developer</span>.wordpress.org/themes/basics/template-hierarchy/<span class="hljs-comment">#single-post</span> * @package Zita * @since <span class="hljs-number">1.0</span>.<span class="hljs-number">0</span> *<span class="hljs-regexp">/ get_header(); $page_post_meta_set = get_post_meta( $post->ID, 'zita_sidebar_dyn', true ); $page_content_post_meta_set = get_post_meta( $post->ID, 'zita_content_dyn', true );?> <div id="content" class="site-content blog-single <?php echo esc_attr(zita_page_content_layout($page_content_post_meta_set,'')); ?>"> <div id="container" class="site-container <?php echo esc_attr(zita_sidebar_layout($page_post_meta_set,''));?>"> <div id="primary" class="main content-area"> <main id="main" class="site-main" role="main"> <?php while ( have_posts() ) : the_post(); /</span><span class="hljs-regexp">/ get_template_part( 'template-parts/content</span><span class="hljs-string">', get_post_type() ); // Здесь(место'</span>a тимплейтоаейтоа-parts): ?> <article id=<span class="hljs-string">"post-<?php the_ID(); ?>"</span> <?php post_class(apply_filters( <span class="hljs-string">'zita_single_post_ftr_img_space_classes'</span>,<span class="hljs-string">''</span>)); ?>> <div class=<span class="hljs-string">"zita-single-content"</span>> <?php zita_single_post_thumbnai_and_title_order($zita_disable_title_dyn,$zita_disable_feature_image_dyn); ?> <div class=<span class="hljs-string">"entry-content-wrapper"</span>> <div class=<span class="hljs-string">"entry-content"</span>> <?php the_content( <span class="hljs-keyword">sprintf</span>( get_the_title() ) ); <span class="hljs-regexp">//</span> the_content(); wp_link_pages( array( <span class="hljs-string">'before'</span> => <span class="hljs-string">'<div class="page-links">'</span> . esc_html_<span class="hljs-number">_</span>( <span class="hljs-string">'Pages:'</span>, <span class="hljs-string">'zita'</span> ), <span class="hljs-string">'after'</span> => <span class="hljs-string">'</div>'</span>, ) ); ?> <<span class="hljs-regexp">/div><!-- .entry-content --> </div</span>><!-- .entry-content-wrapper --> <<span class="hljs-regexp">/div> </article</span>><!-- <span class="hljs-comment">#post --></span> <?php // END <span class="hljs-keyword">if</span>(get_theme_mod(<span class="hljs-string">'zita_single_share_icon'</span>,true)): <span class="hljs-keyword">if</span>(zita_pro_activation_class()!==<span class="hljs-string">''</span>): zita_post_share(); endif; endif; <span class="hljs-keyword">if</span>(get_theme_mod(<span class="hljs-string">'zita_single_authr_bio'</span>)): <span class="hljs-regexp">//</span> Author bio. <span class="hljs-keyword">if</span> ( <span class="hljs-string">'post'</span> === get_post_type() ) : get_template_part( <span class="hljs-string">'template-parts/author-bio'</span> ); endif; endif; the_post_navigation(); <span class="hljs-regexp">//</span> If comments are <span class="hljs-keyword">open</span> <span class="hljs-keyword">or</span> we have at least one comment, load up the comment template. <span class="hljs-keyword">if</span> ( comments_open() || get_comments_number() ) : comments_template(); endif; endwhile; <span class="hljs-regexp">//</span> End of the loop. <span class="hljs-keyword">if</span>(get_theme_mod(<span class="hljs-string">'zita_single_related_post'</span>)): zita_get_related_sigle_post_by_optn(); endif;?> <<span class="hljs-regexp">/main> </div</span>> <?php <span class="hljs-keyword">if</span>(zita_sidebar_layout($page_post_meta_set,<span class="hljs-string">''</span>)!==<span class="hljs-string">'no-sidebar'</span>): get_sidebar(); endif; ?> <<span class="hljs-regexp">/div> </div</span>> <?php get_footer();

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

Источник записи:

Leave A Reply

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