• Well, I just did a search for “astra child theme” and it looks like you guys have a generator. I may have to use it, but I wanted to see if I could do it myself.

    I did create a simple one and decided to test it out by making a custom author.php file. I created a post and then clicked on my author name and it seems as if there is an infinite loop. There were endless repetitions of the post title and post meat below it. I heard my laptop working hard so I closed the tab.

    By the way, I pulled in the code from the author.php file I created for a custom theme I built for myself. I learned how to build a theme by taking 3 courses on Udemy. Looking at your theme I know I am a total beginner.

    Any idea why I would get multiple listings of the one post I created? I also have a template-parts folder but I just pull it into my author file, whereas you guys have a lot of functions. I ended up finding the public function loop_markup which has the loop in it, but I don’t see anything that would be causing the multiple outputs of the post info.

    Any idea why that would happen? Do you have docs I could check out, or should I just generate a child theme from your “Astra Child Theme Generator” page? I did want to try it myself though.

Viewing 11 replies - 1 through 11 (of 11 total)
  • Hi Kernix,

    “Every marathon begins with a single step,” so you’re doing great learning to create your own (child) theme. Never give up!

    In order to receive better help, how about sharing your author.php file?

    Kind regards,
    Elisabeth

    Thread Starter Jim

    (@kernix)

    FYI, I have 3 WP installs and I’m using XAMPP: 1. is the one with the child theme and is brand new, 2. is an old one I used for learning to build a theme, and 3. is the theme I built for my website. I just posted in a web dev sub-reddit about getting errors in XAMPP and I can not load my pages or posts for the install with my theme. The debog.log mentioned a memory size issue for a few includes file and for my template-parts/content-author.php file. Both things happened on the same day – the “infinite loop” and my XAMPP acting up. I did switch from the Astra chld theme install to my theme without stopping and restarting XAMPP, which may be the problem. I may have to reinstall XAMPP since it is 2 years old.

    Another thing I thought about was that I included a template-parts folder in my child theme where I added content-author.php, although I had author.php set to pull from content-posts.php. I never got around to actually making the archive pages different from each other. So let me load that one here.

    Thread Starter Jim

    (@kernix)

    Here is author.php which is a copy from my theme. I added this fie into the root of the child theme:

    <?php
    /**
     *
     * @package Astra-Child
     * 
     */
    
    get_header( 'post');
    ?>
    
    <main id="primary" class="site-main">
    	<div class="container">
    	
    		<h1 class="page-title">
    			<?php wp_title( '' ); ?>
    			<span>Testing from <strong>author.php</strong></span>
    		</h1>
    	</div>
    	<div class="container sidebar-page">
    		<article class="blog-page">
    
    			<?php
    			if ( have_posts() ) :
    
    					?>
    					<header>
    						<h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
    					</header>
    					<?php
    				
    				/* Start the Loop */
    				while ( have_posts() ) :
    					the_post();
    
    					get_template_part( 'template-parts/content', 'posts' );
    
    				endwhile;
    
    			else :
    
    				get_template_part( 'template-parts/content', 'none' );
    
    			endif;
    			?>
    			<div class="paginate-container">
    				<div class="page-nav">
    					<?php echo wp_kses_post( paginate_links() ) ?>
    				</div>
    			</div>
    		</article>
    		<!-- .blog-page -->
    		<aside class="blog-sidebar">
    			<?php get_sidebar(); ?>
    		</aside>
    	</div><!-- .container .sidebar-page-->
    </main><!-- #main -->
    
    <?php
    
    get_footer();
    • This reply was modified 2 years, 10 months ago by Jim.
    • This reply was modified 2 years, 10 months ago by Jim.
    • This reply was modified 2 years, 10 months ago by Jim.
    Thread Starter Jim

    (@kernix)

    Oh my, that formatted horribly! Here is content-posts.php:

    <?php
    /**
     * Template part for displaying posts
     *
     * @package Tower
     */
    
    ?>
    
    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    	<!-- <header class="entry-header"> -->
    		<div class="single-section">			
    			<?php if( has_post_thumbnail() ): ?>
    				<div class="leftside-blog">
    					<?php the_post_thumbnail( 'medium' ); ?>
    				</div><!-- .leftside-blog -->
    
    			<?php 	else : ?>
    
    				<div class="leftside-no-image">
    					<!-- <?php the_post_thumbnail(); ?> -->
    				</div><!-- .leftside-blog -->
    
    			<?php endif; ?>		
    
    				<div class="rightside-blog">
    					<?php
    						the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
    
    					if ( 'post' === get_post_type() ) :
    						?>
    					
    						<div class="entry-meta">
    							<?php
    							get_template_part( 'template-parts/content', 'author' ); 
    
    							?>
    						</div><!-- .entry-meta -->
    					<?php endif; ?>
    					<!-- </header> -->
    					<!-- .entry-header -->
    
    					<div class="entry-content">
    						<?php the_excerpt(); ?>
    						<!-- <p><a href="<?php the_permalink(); ?>" class="btn btn--blue">Go to post &raquo</a></p> -->
    
    					</div><!-- .entry-content -->
    
    					<footer class="entry-footer">
    						<?php get_template_part( 'template-parts/content', 'meta' ); ?>
    					</footer><!-- .entry-footer -->
    				</div><!-- .rightside-blog -->
    	</div><!-- .single-section -->
    </div><!-- #post-<?php the_ID(); ?> -->
    • This reply was modified 2 years, 10 months ago by Jim.
    Thread Starter Jim

    (@kernix)

    Looks like I forgot to change @package Tower to be Astra-child; Tower is the name of my theme. Though, I do not even know what that part of the comment is for.

    • This reply was modified 2 years, 10 months ago by Jim.

    Hi Kernix,

    Please take a look at this link below and scroll down to Sample Template File
    https://codex.www.ads-software.com/Author_Templates

    Let’s start simple:
    If there aren’t any posts by the author, you should use: <p><?php esc_html_e('No posts by this author.','astra-child'); ?></p> instead of get_template_part( 'template-parts/content', 'none' );

    <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> can be omitted; it’s of no use here.

    If I look closely at content-posts.php, you’re are calling another template file get_template_part( 'template-parts/content', 'author' );. So I’m not surprised by the infinite loop issue you’re experiencing especially if the author has many posts.
    Temporarily remove that line of code and check again to see if that solved your issue.

    Kind regards,
    Elisabeth

    Thread Starter Jim

    (@kernix)

    Thanks for all of that. I started editing the file called because it was originally calling ‘posts’ when I wanted it to be ‘author’. I created all the templates files off of archive.php with the intention of doing something unique at a later date. I probably moved too fast and didn’t pay attention to the file I was in.

    Sorry for the late reply. I’ve been working with A2 to migrate my sites to their servers.

    Thread Starter Jim

    (@kernix)

    Oh, the line get_template_part( 'template-parts/content', 'author' ); get’s the author meta. It’s been a while since I’ve been in my theme.

    Thread Starter Jim

    (@kernix)

    I wimped out and downloaded a child theme from your generator page. It would take too long to get my head back into all the files and template tags t figure out where I went wrong. Now I can run all my XAMPP installs. What is this:

    * @package Tower

    I did notice that I had a reference to MY theme from the child theme. All the code is what I am using on my active site, though I will be making the changes that you suggested. What does @package do?

    Hi Kernix,

    When I look at the child theme generator, I only see

    @package Astra Child

    @package is a documentation tag to identify your theme. More information can be found by visiting this link for a more in-depth explanation.

    Kind regards,
    Elisabeth

    Thread Starter Jim

    (@kernix)

    Ok – thanks!

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘Can the theme developer team help me with a child theme’ is closed to new replies.