WordPress
Skapa mall för anpassad inläggstyp
Sök…
Skapa en anpassad mall för boken Anpassad inlägg
För att skapa en mall för enstaka inlägg av vår anpassade inläggstyp, måste vi skapa en fil som heter single- post_type_name .php där post_type_name är namnet på vår anpassade inläggstyp.
Till exempel, om vår egen post typen kallas ”Böcker”, måste vi skapa en PHP fil som heter enda bok .php. Observera att vi använde det enkla namnet på vår anpassade inläggstyp.
Kopiera innehållet i single.php från temamappen och klistra in den i den nya mallen och spara den. Då skulle mallen tillämpas för den anpassade inläggstypens enskilda sida.
Anpassade posttypmallar
Anpassat inläggstyparkiv:
För att skapa en arkivmall för en anpassad has_archive
måste du ange has_archive
argumentet lika med true
i din register_post_type()
-funktion. I exemplet nedan skapas en anpassad inläggstyp för en händelseposttyp.
add_action( 'init', 'create_events_post_type' );
function create_events_post_type() {
register_post_type( 'event',
array(
'labels' => array(
'name' => __( 'Events' ),
'singular_name' => __( 'Event' )
),
'public' => true,
'has_archive' => true,
)
);
}
För att skapa en mall för nya anpassade inläggstyper måste du skapa en ny mallfil. För att skapa en mall för de enskilda inläggssidorna skulle du namnge den single-{post_type}.php
och archive-{post_type}.php
för arkivet.
Filnamnet för vår arkivmall kommer att vara archive-event.php
och för händelsessidan skulle det vara single-event.php
. Båda filerna bör finnas i din temakrotkatalog.
Ett exempel på arkivmall skulle se ut så här. Drogs från tjugonde-temat .
<?php
/**
* The template for displaying archive pages
*
* @link https://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Seventeen
* @since 1.0
* @version 1.0
*/
get_header(); ?>
<div class="wrap">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
the_archive_description( '<div class="taxonomy-description">', '</div>' );
?>
</header><!-- .page-header -->
<?php endif; ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
if ( have_posts() ) : ?>
<?php
/* Start the Loop */
while ( have_posts() ) : the_post();
/*
* Include the Post-Format-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part( 'template-parts/post/content', get_post_format() );
endwhile;
the_posts_pagination( array(
'prev_text' => twentyseventeen_get_svg( array( 'icon' => 'arrow-left' ) ) . '<span class="screen-reader-text">' . __( 'Previous page', 'twentyseventeen' ) . '</span>',
'next_text' => '<span class="screen-reader-text">' . __( 'Next page', 'twentyseventeen' ) . '</span>' . twentyseventeen_get_svg( array( 'icon' => 'arrow-right' ) ),
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyseventeen' ) . ' </span>',
) );
else :
get_template_part( 'template-parts/post/content', 'none' );
endif; ?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
</div><!-- .wrap -->
<?php get_footer();
Anpassad inläggstyp Enkel mall:
Här är ett exempel på en enda mall. Drogs från tjugonde-temat .
<?php
/**
* The template for displaying all single posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
*
* @package WordPress
* @subpackage Twenty_Seventeen
* @since 1.0
* @version 1.0
*/
get_header(); ?>
<div class="wrap">
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
/* Start the Loop */
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/post/content', get_post_format() );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
the_post_navigation( array(
'prev_text' => '<span class="screen-reader-text">' . __( 'Previous Post', 'twentyseventeen' ) . '</span><span aria-hidden="true" class="nav-subtitle">' . __( 'Previous', 'twentyseventeen' ) . '</span> <span class="nav-title"><span class="nav-title-icon-wrapper">' . twentyseventeen_get_svg( array( 'icon' => 'arrow-left' ) ) . '</span>%title</span>',
'next_text' => '<span class="screen-reader-text">' . __( 'Next Post', 'twentyseventeen' ) . '</span><span aria-hidden="true" class="nav-subtitle">' . __( 'Next', 'twentyseventeen' ) . '</span> <span class="nav-title">%title<span class="nav-title-icon-wrapper">' . twentyseventeen_get_svg( array( 'icon' => 'arrow-right' ) ) . '</span></span>',
) );
endwhile; // End of the loop.
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
</div><!-- .wrap -->
<?php get_footer();
Båda exempel på mallar är dragande i deltoner för att visa det inre innehåll.
Om ditt barn / föräldertema har en enda / arkivmall ska du använda den koden som pannplatta för dina nya mallar.