wppizza / markup / single / single.php

Display single wppizza menu item keeping prices and other relevant WPPizza menu item information intact to work with your theme

Only really used/needed if using WPPizza search widget with wppizza menu items enabled or including "permalink" in elements attributes of shortcode.

NOTE: although the below would work the same way with your normal/main theme the below assumes you are using a child theme. If you are not using a child theme, now would be a good time to create one to allow you to update your main theme when an update becomes available without loosing any of your changes or additions you make now or in the future. If you do not know how to create a child theme or why to use one, please refer to the wordpress codex here.

 

How to:

  • create the following directory structure in your child theme: wppizza/markup/single so your whole structure will look something like this /[path]/[to]/[my]/[child-theme]/wppizza/markup/single
  • copy your theme’s “single.php” file into the above created directory, so the structure will now look something like this: /[path]/[to]/[my]/[child-theme]/wppizza/markup/single/single.php
  • open this “single.php” file in a suitable text editor
  • typically you will find something like
    
    	while ( have_posts() ) : the_post();
    	if(is_single()){
    		.....
    	}
    	endwhile;
    	
  • REPLACE that whole loop – including the “while ( have_posts() …. etc …. endwhile; ” – with simply echo $do_single;, leaving any codeblocks before and after intact and save
  • the whole file will now be similar to this
    <?php
    if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
    get_header();
    ?>
    	<div id="primary" class="content-area">
    
    		<main id="main" class="site-main" role="main">
    			
    			<?php echo $do_single; ?>
    
    		</main><!-- .site-main -->
    
    		<?php get_sidebar( 'content-bottom' ); ?>
    
    	</div><!-- .content-area -->
    
    <?php get_sidebar(); ?>
    
    <?php get_footer(); ?>
    
    
  • if you wish to enable comments, add/leave the comments template according to how your theme displays them right after the echo $do_single;.
    Typically this will be something like this, but might be somewhat different for your theme

    
    	// If comments are open or we have at least one comment, load up the comment template.
    	if ( comments_open() || get_comments_number() ) {
    		comments_template();
    	}
    
  • if your theme’s single.php also provides links/navigation you wish to use do the same as with the comments codeblock referred to above. adding it in your preferred place.
    Typically navigation links will look similar to this, but might be somewhat different for your theme

    
    	// Previous/next post navigation.
    	the_post_navigation( array(
    		'next_text' => ' ' .
    			'' . __( 'Next post:', 'theme_name' ) . ' ' .
    			'%title',
    		'prev_text' => ' ' .
    			'' . __( 'Previous post:', 'theme_name' ) . ' ' .
    			'%title',
    	) );
    

 

If your theme’s single.php template is somewhat more complicated, find below a “before” and “after” example (using the “Kale” wordpress theme here) which should get you an idea how to make this work for your particular theme. Adjust as required of course:

  • Before
    <?php
    /**
     * The template for displaying posts
     *
     * @package kale
     */
    ?>
    <?php get_header(); ?>
    
    <?php
    $kale_posts_meta_show = kale_get_option('kale_posts_meta_show');
    $kale_posts_date_show = kale_get_option('kale_posts_date_show');
    $kale_posts_category_show = kale_get_option('kale_posts_category_show');
    $kale_posts_author_show = kale_get_option('kale_posts_author_show');
    $kale_posts_tags_show = kale_get_option('kale_posts_tags_show');
    $kale_posts_sidebar = kale_get_option('kale_posts_sidebar');
    $kale_posts_featured_image_show = kale_get_option('kale_posts_featured_image_show');
    $kale_sidebar_size = kale_get_option('kale_sidebar_size');
    $kale_posts_posts_nav_show = kale_get_option('kale_posts_posts_nav_show');
    
    ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <!-- Two Columns -->
    <div class="row two-columns">
    
        <!-- Main Column -->
        <?php if($kale_posts_sidebar == 1) { ?>
        <div class="main-column <?php if($kale_sidebar_size == 0) { ?> col-md-8 <?php } else { ?> col-md-9 <?php } ?>" role="main">
        <?php } else { ?>
        <div class="main-column col-md-12" role="main">
        <?php } ?>
        
            <!-- Post Content -->
            <div id="post-<?php the_ID(); ?>" <?php post_class('entry entry-post'); ?>>
                
                <div class="entry-header">
    				<?php if($kale_posts_meta_show == 1 && $kale_posts_date_show == 1) { ?>
                    <div class="entry-meta">
                        <div class="entry-date date updated"><?php the_date(); ?></div>
                    </div>
    				<?php } ?>
    				<div class="clearfix"></div>
                </div>
                
                <?php $title = get_the_title(); ?>
                <?php if($title == '') { ?>
                <h1 class="entry-title"><?php esc_html_e('Post ID: ', 'kale'); the_ID(); ?></h1>
                <?php } else { ?>
                <h1 class="entry-title"><?php the_title(); ?></h1>
                <?php } ?>
                
                <?php 
                if($kale_posts_featured_image_show == 1) { 
                    if(has_post_thumbnail()) { ?>
                    <div class="entry-thumb"><?php the_post_thumbnail( 'full', array( 'alt' => get_the_title(), 'class'=>'img-responsive' ) ); ?></div><?php } 
                } ?>
                
                <div class="single-content"><?php the_content(); wp_link_pages(); ?></div>
                
                <?php if(  ( $kale_posts_meta_show == 1 && ($kale_posts_category_show == 1 || $kale_posts_tags_show == 1 || $kale_posts_author_show == 1) )  ) { ?>
                <div class="entry-footer">
                    <div class="entry-meta">
                        <?php if($kale_posts_author_show == 1) { ?><div class="entry-author"><span><?php esc_html_e('Author: ', 'kale'); ?></span><span class="vcard author author_name"><span class="fn"><?php the_author_posts_link(); ?></span></span></div><?php } ?>
    					<?php if($kale_posts_category_show == 1 && has_category()) { ?><div class="entry-category"><span><?php esc_html_e('Filed Under: ', 'kale'); ?></span><?php the_category(', '); ?></div><?php } ?>
                        <?php if($kale_posts_tags_show == 1 && has_tag()) { ?><div class="entry-tags"><span><?php esc_html_e('Tags: ', 'kale'); ?></span><?php the_tags('',', '); ?></div><?php } ?>
                    </div>
                </div>
                <?php } ?>
            
            </div>
            <!-- /Post Content -->
            
            <?php if($kale_posts_posts_nav_show == 1) { ?>
            <hr />
            <div class="pagination-post">
                <div class="previous_post"><?php previous_post_link('%link','%title',true); ?></div>
                <div class="next_post"><?php next_post_link('%link','%title',true); ?></div>
            </div>
            <?php } ?>
            
            <!-- Post Comments -->
            <?php if ( comments_open() ) : ?>
            <hr />
            <?php comments_template(); ?>
            <?php endif; ?>  
            <!-- /Post Comments -->
            
        </div>
        <!-- /Main Column -->
        
        
        <?php if($kale_posts_sidebar == 1)  get_sidebar();  ?>
        
    </div>
    <!-- /Two Columns -->
            
    <?php endwhile; ?>
    <hr />
    
    <?php get_footer(); ?>
  • After
    <?php
    /**
     * The template for displaying wppizza single posts
     *
     * @package kale
     */
    ?>
    <?php get_header(); ?>
    
    <?php
    $kale_posts_meta_show = kale_get_option('kale_posts_meta_show');
    $kale_posts_date_show = kale_get_option('kale_posts_date_show');
    $kale_posts_category_show = kale_get_option('kale_posts_category_show');
    $kale_posts_author_show = kale_get_option('kale_posts_author_show');
    $kale_posts_tags_show = kale_get_option('kale_posts_tags_show');
    $kale_posts_sidebar = kale_get_option('kale_posts_sidebar');
    $kale_posts_featured_image_show = kale_get_option('kale_posts_featured_image_show');
    $kale_sidebar_size = kale_get_option('kale_sidebar_size');
    $kale_posts_posts_nav_show = kale_get_option('kale_posts_posts_nav_show');
    
    ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <!-- Two Columns -->
    <div class="row two-columns">
    
        <!-- Main Column -->
        <?php if($kale_posts_sidebar == 1) { ?>
        <div class="main-column <?php if($kale_sidebar_size == 0) { ?> col-md-8 <?php } else { ?> col-md-9 <?php } ?>" role="main">
        <?php } else { ?>
        <div class="main-column col-md-12" role="main">
        <?php } ?>
        
    	    <?php
    	    	/* 
    	    		display wppizza single item post
    	    		replacing the "normal" post display
    	    		as rendered by the theme
    	    	*/
    	    	echo $do_single; 
    	    ?>
            
            <?php if($kale_posts_posts_nav_show == 1) { ?>
            <hr />
            <div class="pagination-post">
                <div class="previous_post"><?php previous_post_link('%link','%title',true); ?></div>
                <div class="next_post"><?php next_post_link('%link','%title',true); ?></div>
            </div>
            <?php } ?>
            
            <!-- Post Comments -->
            <?php if ( comments_open() ) : ?>
            <hr />
            <?php comments_template(); ?>
            <?php endif; ?>  
            <!-- /Post Comments -->
            
        </div>
        <!-- /Main Column -->
        
        
        <?php if($kale_posts_sidebar == 1)  get_sidebar();  ?>
        
    </div>
    <!-- /Two Columns -->
            
    <?php endwhile; ?>
    <hr />
    
    <?php get_footer(); ?>