Макет содержимого WordPress Post

Я создаю собственную тему с нуля и сталкиваюсь с небольшой проблемой, с которой мне нужна помощь.

Итак, у меня есть на первой полосе список из трех последних сообщений в блоге с заголовком «Выдержка» & ссылка «more …», которая как по заголовку, так и по ссылке more приводит вас к single.php.

Я генерирую содержимое публикации в файле с именем ‘content-post.php’, который выглядит следующим образом:

<div class="clearfix">

<?php echo get_the_post_thumbnail( $post_id, $size, $attr ); ?>
<header class="title">

<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
</header>

<ul class="info">

<li><?php the_category(', '); ?> | <?php the_time('F Y'); ?></li>
<!--<li>Written By: <a href="<?php bloginfo('siteurl') ?>/about/"><?php the_author(); ?></li>-->

</ul>

<div class="excerpt">

<p><?php if(is_single()): ?>

<?php the_content(); ?>
<?php comments_template(); ?>

<?php else: ?>

<?php the_excerpt(); ?>
<a class="post-link" href="<?php the_permalink(); ?>">More...</a></p>

<?php endif; ?>
</div>
</div>

Это создает сообщения на front-page.php просто отлично. У меня возникла проблема, когда вы заходите на страницу блога, которая использует тот же контент поста, а макет такой же. Есть ли способ, которым я могу указать, как он отображается на первой странице и как он отображается на странице блога?

Сообщение отображается на front-page.php следующим образом:

<?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

<?php get_template_part( 'content', 'post' ); ?>

<?php endwhile; endif; ?>

А на странице блога вот так:

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

<?php get_template_part( 'content', 'post' ); ?><?php endwhile; else: ?>

<p>There are no posts to display or pages here</p>

<?php endif; ?>

0

Решение

Если я понимаю ваш вопрос, попробуйте это:

<?php if (is_page(идентификатор страницы)){Ваш запрос}

Удачи! 😉

PS .. или в пути

<?php if (is_page(идентификатор страницы)): ?>
Ваш запрос
<?php endif; ?>

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]