@xGreen_Max

Разное оформление single.php(WordPress)?

Этот код для single.php я взял из темы twentyfifteen
<?php
/**
* The template for displaying all single posts and attachments
*
* @package WordPress
* @subpackage Twenty_Fifteen
* @since Twenty Fifteen 1.0
*/

get_header(); ?>

<div id="primary" class="content-area">
<main id="main" class="site-main">

<?php
// Start the loop.
while ( have_posts() ) :
the_post();

/*
* Include the post format-specific template for the content. If you want
* to use this in a child theme, then include a file called content-___.php
* (where ___ is the post format) and that will be used instead.
*/
get_template_part( '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;

// Previous/next post navigation.
the_post_navigation(
array(
'next_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Next', 'twentyfifteen' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Next post:', 'twentyfifteen' ) . '</span> ' .
'<span class="post-title">%title</span>',
'prev_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Previous', 'twentyfifteen' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Previous post:', 'twentyfifteen' ) . '</span> ' .
'<span class="post-title">%title</span>',
)
);

// End the loop.
endwhile;
?>

</main><!-- .site-main -->
</div><!-- .content-area -->

<?php get_footer(); ?>


А вот мой код для single.php:
<?php get_header(); ?>
<?php the_post(); ?>

<main class="Main_Content">

<article class="Text_Main_Block">

<h1 class ="first_title"><?php the_title(); ?></h1>
<br>
<?php the_content(); ?>

</article>
</main>

<?php get_footer(); ?>


Я не могу понять, почему код из оригинальной темы гораздо больше моего?
Чем код из темы twentyfifteen отличается от моего короткого кода?
Ведь результат один и тот же. Оба этих кода выводят текст и заголовок записи.
  • Вопрос задан
  • 128 просмотров
Решения вопроса 2
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Если вы уберете из кода twentyfifteen все комментарии, то сравнить будет значительно проще

<?php get_header(); ?>

	<div id="primary" class="content-area">
		<main id="main" class="site-main">

		<?php while ( have_posts() ) :
			the_post();

			get_template_part( 'content', get_post_format() );

			if ( comments_open() || get_comments_number() ) :
				comments_template();
			endif;

			the_post_navigation(
				array(
					'next_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Next', 'twentyfifteen' ) . '</span> ' .
						'<span class="screen-reader-text">' . __( 'Next post:', 'twentyfifteen' ) . '</span> ' .
						'<span class="post-title">%title</span>',
					'prev_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Previous', 'twentyfifteen' ) . '</span> ' .
						'<span class="screen-reader-text">' . __( 'Previous post:', 'twentyfifteen' ) . '</span> ' .
						'<span class="post-title">%title</span>',
				)
			);

		endwhile; ?>

		</main>
	</div>

<?php get_footer(); ?>


В этом коде есть глобальный цикл, части кода (контент, комментарии и пагинация) подключены с помощью базовых функций

От себя добавлю, что на код базовых тем стоит ориентироваться и на первых этапах стараться делать подобным образом, это сэкономит вам время на устранение разных багов
Ответ написан
mrusklon
@mrusklon
Не получается? Яростно гугли!
ну так код одинаковый, просто добавлены проверки типа
while ( have_posts() ) :
the_post();


если посты вообще есть в базе, то показывать их.

блок комментариев много кода отобрал

что именно не понятно?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы