Wsparcie » Motywy » Wyświetlanie postów na stronie

  • Witam, od niedawna próbuję coś działać z WordPressem, wiele jeszcze do końca rozumiem i na swojej drodze napotkałem mały problem.. Przerabiałem stronę statyczną html na szablon wordpress i wszystko działa, tylko problemem jest wyświetlanie posta. Chciałem aby post wyświetlany był na głównej stronie razem ze wszystkimi widżetami. Dowiedziałem się że taki efekt uzyska się gdy zamiast single.php, plik nazwiemy singular.php oraz usuniemy page.php. Niestety post mimo tej zmiany wyświetlany jest na całej stronie, a widżet, w moim przypadku sidebar, jest wyświetlany dopiero pod postem.
    Poniżej zawartość singular.php

    <?php get_header(); ?>	
    	
    	<!-- Main -->
    	<div id="main">
    	
    	<?php
    		if ( have_posts() ) :
    			while ( have_posts() ) : the_post();
    			
    	?>
    
    		<!-- Post -->
    			<article class="post">
    				<header>
    					<div class="title">
    						<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?> </a></h2>
    					</div>
    					<div class="meta">
    						<time class="published"><?php the_date(); ?></time>
    						<a href="#" class="author"><span class="name"><?php the_author(); ?></span><img src="images/avatar.jpg" alt="" /></a>
    					</div>
    				</header>
    				<?php
    					// check if the post has a Post Thumbnail assigned to it.
    					if ( has_post_thumbnail() ) { 
    				?>
    				<a href="<?php echo the_permalink(); ?>" class="image featured">
    				<?php the_post_thumbnail(); ?>
    				</a>
    				<?php } ?>
    				<p><?php the_content(); ?></p>
    			</article>
    			
    		<?php 
    			endwhile;
    		endif;
    		?>
    	</div>
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    Czemu tak się dzieje?

    Strona przy której potrzebuję pomocy: [zaloguj się aby zobaczyć ten link]

Viewing 1 replies (of 1 total)
  • Chyba ktoś ci źle doradził. Singular.php rzeczywiście służy do wyświetlania pojedynczego wpisu/strony ale przy jego pomocy nie dasz rady wyświetlić pojedynczego posta jako strony głównej.

    Jeżeli chcesz wyświetlić pojedynczy post na stronie głównej, np. ostatnio opublikowany, to możesz sobie stworzyć plik np. home.php, albo front-page.php, albo statyczny szablon strony i w nim dodać modyfikację do pętli.

    $args = array(
    	'posts_per_page' => '1',
    );
    
    // the query
    $the_query = new WP_Query( $args ); ?>
    
    <?php if ( $the_query->have_posts() ) : ?>
    
    	<!-- pagination here -->
    
    	<!-- the loop -->
    	<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    		<h2><?php the_title(); ?></h2>
    	<?php endwhile; ?>
    	<!-- end of the loop -->
    
    	<!-- pagination here -->
    
    	<?php wp_reset_postdata(); ?>
    
    <?php else : ?>
    	<p><?php esc_html_e( 'Sorry, no posts matched your criteria.' ); ?></p>
    <?php endif; ?>
    
    

    https://codex.wordpress.org/Class_Reference/WP_Query

    Niestety post mimo tej zmiany wyświetlany jest na całej stronie

    Możesz lepiej wyjaśnić, co chcesz osiągnąć i co ci nie działa? Jeżeli sidebar z widgetami wyświetla się pod postem, to jest to problem z CSS i strukturą kodu HTML.

Viewing 1 replies (of 1 total)
  • Temat ‘Wyświetlanie postów na stronie’ jest zamknięty na nowe odpowiedzi.