WordPress.org

Forums

Theme: Preus- Create more than one posts page (7 posts)

  1. lifewithlampnsofa
    Member
    Posted 1 year ago #

    Hi there,
    Right now I have a few category pages set on my menu, but on the actual page it just shows the title of the article. I want to show the title, an excerpt and photo (essentially just like I have on my home page (lifewithlampnsofa.com). Something that looks like this- http://ohsheglows.com/categories/fitness/ for my categories "fitness" running, etc. Here's what "running" looks like now. http://lifewithlampnsofa.com/category/fitness/running/

    My theme is Preus and there is no category.php template, just an archive.php template. I don't know if I need to go in and edit that one or create a new one.
    This is the archive template.

    <?php
    /**
    * The template for displaying Archive pages.
    *
    * Learn more: http://codex.wordpress.org/Template_Hierarchy
    *
    * @package Preus
    */

    get_header(); ?>

    <section id="primary" class="content-area col-md-8">
    <main id="main" class="site-main" role="main">

    <?php if ( have_posts() ) : ?>

    <header class="page-header">
    <h1 class="page-title">
    <?php
    if ( is_category() ) :
    single_cat_title();

    elseif ( is_tag() ) :
    single_tag_title();

    elseif ( is_author() ) :
    /* Queue the first post, that way we know
    * what author we're dealing with (if that is the case).
    */
    the_post();
    printf( __( 'Author: %s', 'preus' ), '<span class="vcard">' . get_the_author() . '</span>' );
    /* Since we called the_post() above, we need to
    * rewind the loop back to the beginning that way
    * we can run the loop properly, in full.
    */
    rewind_posts();

    elseif ( is_day() ) :
    printf( __( 'Day: %s', 'preus' ), '<span>' . get_the_date() . '</span>' );

    elseif ( is_month() ) :
    printf( __( 'Month: %s', 'preus' ), '<span>' . get_the_date( 'F Y' ) . '</span>' );

    elseif ( is_year() ) :
    printf( __( 'Year: %s', 'preus' ), '<span>' . get_the_date( 'Y' ) . '</span>' );

    elseif ( is_tax( 'post_format', 'post-format-aside' ) ) :
    _e( 'Asides', 'preus' );

    elseif ( is_tax( 'post_format', 'post-format-image' ) ) :
    _e( 'Images', 'preus');

    elseif ( is_tax( 'post_format', 'post-format-video' ) ) :
    _e( 'Videos', 'preus' );

    elseif ( is_tax( 'post_format', 'post-format-quote' ) ) :
    _e( 'Quotes', 'preus' );

    elseif ( is_tax( 'post_format', 'post-format-link' ) ) :
    _e( 'Links', 'preus' );

    else :
    _e( 'Archives', 'preus' );

    endif;
    ?>
    </h1>
    <?php
    // Show an optional term description.
    $term_description = term_description();
    if ( ! empty( $term_description ) ) :
    printf( '<div class="taxonomy-description">%s</div>', $term_description );
    endif;
    ?>
    </header><!-- .page-header -->

    <?php /* Start the Loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>

    <?php
    /* 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( 'content', get_post_format() );
    ?>

    <?php endwhile; ?>

    <?php preus_content_nav( 'nav-below' ); ?>

    <?php else : ?>

    <?php get_template_part( 'no-results', 'archive' ); ?>

    <?php endif; ?>

    </main><!-- #main -->
    </section><!-- #primary -->

    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    I've created a new template where I copied and pasted the archive code and edited what I learned in the "create a category template" on wordpress support and this is the code:

    <?php
    /**
    * The template for displaying Running Cat Page.
    *
    * Learn more: http://codex.wordpress.org/Template_Hierarchy
    *
    * @package Preus
    */

    get_header(); ?>

    <section id="primary" class="content-area col-md-8">
    <main id="main" class="site-main" role="main">

    <?php if ( have_posts() ) : ?>

    <header class="page-header">
    <h1 class="page-title">
    <?php
    if ( is_category() ) :
    single_cat_title();

    elseif ( is_tag() ) :
    single_tag_title();

    elseif ( is_author() ) :
    /* Queue the first post, that way we know
    * what author we're dealing with (if that is the case).
    */
    the_post();
    printf( __( 'Author: %s', 'preus' ), '<span class="vcard">' . get_the_author() . '</span>' );
    /* Since we called the_post() above, we need to
    * rewind the loop back to the beginning that way
    * we can run the loop properly, in full.
    */
    rewind_posts();

    elseif ( is_day() ) :
    printf( __( 'Day: %s', 'preus' ), '<span>' . get_the_date() . '</span>' );

    elseif ( is_month() ) :
    printf( __( 'Month: %s', 'preus' ), '<span>' . get_the_date( 'F Y' ) . '</span>' );

    elseif ( is_year() ) :
    printf( __( 'Year: %s', 'preus' ), '<span>' . get_the_date( 'Y' ) . '</span>' );

    elseif ( is_tax( 'post_format', 'post-format-aside' ) ) :
    _e( 'Asides', 'preus' );

    elseif ( is_tax( 'post_format', 'post-format-image' ) ) :
    _e( 'Images', 'preus');

    elseif ( is_tax( 'post_format', 'post-format-video' ) ) :
    _e( 'Videos', 'preus' );

    elseif ( is_tax( 'post_format', 'post-format-quote' ) ) :
    _e( 'Quotes', 'preus' );

    elseif ( is_tax( 'post_format', 'post-format-link' ) ) :
    _e( 'Links', 'preus' );

    else :
    _e( 'Archives', 'preus' );

    endif;
    ?>
    </h1>
    <?php
    // Show an optional term description.
    $term_description = term_description();
    if ( ! empty( $term_description ) ) :
    printf( '<div class="taxonomy-description">%s</div>', $term_description );
    endif;
    ?>
    </header><!-- .page-header -->

    <?php /* Start the Loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>

    <?php
    $args = array ( 'category' => 9, 'posts_per_page' => 6);
    $myposts = get_posts( $args );
    foreach( $myposts as $post ) : setup_postdata($post);
    ?>
    //Style Posts here
    <?php endforeach; ?>

    <?php endwhile; ?>

    <?php preus_content_nav( 'nav-below' ); ?>

    <?php else : ?>

    <?php get_template_part( 'no-results', 'archive' ); ?>

    <?php endif; ?>

    </main><!-- #main -->
    </section><!-- #primary -->

    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    Any help would be great!!

  2. Balint Toth
    Member
    Posted 1 year ago #

    Hello! You have to create a file called category.php, so WordPress uses that file for every category listing page. For doing that, it is the best way to create a so called child theme, because this kind of theme modifications get deleted when you refresh your theme or WordPress. Here is a great article which describes how to create a child theme.

    I will install the theme and try to come up with the necessary code for your needs, I will get back to you shortly.

    Cheers,
    Toth Balint BT

  3. Balint Toth
    Member
    Posted 1 year ago #

    Ok, here is the code necessary for your category.php file. It may need some tweaking, so whatever you need changing, just tell me and I am happy to help.

    <?php
    
    get_header(); ?>
    <div id="primary" class="content-area col-md-8">
    		<main id="main" class="site-main" role="main">
    
    		<?php if ( have_posts() ) : ?>
    
    			<?php /* Start the Loop */ ?>
    			<?php while ( have_posts() ) : the_post(); ?>
    
    				<?php
    					/* 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( 'content', get_post_format() );
    				?>
    
    			<?php endwhile; ?>
    
    			<?php preus_pagination(); ?>
    
    		<?php else : ?>
    
    			<?php get_template_part( 'no-results', 'index' ); ?>
    
    		<?php endif; ?>
    
    		</main><!-- #main -->
    	</div><!-- #primary -->
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    Here is a demo how it works on a demo site.

    Cheers,
    Toth Balint BT

  4. lifewithlampnsofa
    Member
    Posted 1 year ago #

    This is so great! I am going to try and create a child theme for Preus tomorrow... if I have dreamweaver how does that work? I just create a duplicate file with the stylesheet and name it "child"?
    I really appreciate the help and I'll get back to you tomorrow with results!

  5. Balint Toth
    Member
    Posted 1 year ago #

    These are the necessary steps for you:

    1. On your webserver's files, create a new folder called preus-child in /wp-content/themesso it is beside the preus theme's folder. It should look like this:

    wp-themes
        preus
        preus-child

    2. Inside the preus-child folder, create a file called style.css
    3. Paste this code to the file you have just created:

    /*
    Theme Name: Preus Child
    Theme URI: http://inkhive.com/product/preus/
    Author: Rohit Tripathi
    Author URI: http://inkhive.com
    Description: Preus Child theme
    Version: 1.0
    Template: preus
    */
    
    @import url("../preus/style.css");

    However, there is one important thing. On my test site the Preus folder's name in themes is has a capital P. If your's is not, just copy and paste the above code as it is. If your theme folder also has a capital P, you will have to modify the above code on 2 places:
    Template: Preus and @import url("../Preus/style.css"); so they have capital Ps also. Please don't try to rename the folder name, because it will break your theme.

    4. Inside the preus-child folder create the category.php file, and paste the code that I have posted earlier.
    5. Inside WordPress Dashboard, go to Appearance->Themes, there should be the child theme listed (without a screenshot image, what is completely normal). Activate the child theme.
    6. Check how your site looks like on the Running page :-)

    There is not much difference to it if you use Dreamweaver or other tools. If you need any help, or have any questions, just let me know.

    Cheers,
    Toth Balint BT

  6. bball
    Member
    Posted 1 year ago #

    I am trying to do the same thing. The site I want to model mine after is http://mayaelious.com/ . On here site she has blog post in several different pages. I want to achieve this for my site http://www.truthbritold.com/ but i am having alot of difficulty doing so. PLEASE HELP!!!!

  7. bball
    Member
    Posted 1 year ago #

    the theme I am using is called forefront.

Topic Closed

This topic has been closed to new replies.

About this Topic

Tags