Первое что необходимо сделать, это зайти в "Настройки постоянных ссылок" для настройки ЧПУ, которые будут автоматически создаваться WordPress'ом.
Рекомендую выбирать - https://namesite.ru/sample-post/.
Создаем определенную рубрику для наших записей. Как это лучше сделать, можно посмотреть здесь.
Для примера у нас будет рубрика новости.
Далее создаем несколько записей, можно тестовых, что бы было с чем работать.
Добавляем ACF поля для наших записей, в нашем примере создадим поле "Дата публикации" и "Аннотация (введение)". Условия отображения для этих полей ставим "Рубрика записи" = "Новости".
Теперь карточки наших новостей можно разместить на сайте в нужном нам месте по верстке. А также создать для них отдельные шаблоны.
Сначала занимаемся карточками. Используя наши ACF поля редактируем HTML главной страницы. В данном примере у нас карточка последней новости имеет свой шаблон в отличии от последующих трех.
Пример
<div class="container-006">
<div class="container-006-content">
<div class="container-006__leftblock">
<?
$query_news = new WP_Query(
array(
'posts_per_page' => 1,
'post_type' => 'post',
'category_name' => 'novosti'
)
);
?>
<?
if ( $query_news->have_posts() ) {
while ( $query_news->have_posts() ) {
$query_news->the_post();
?>
<a class="container-006__leftblock-link" href="<?php the_permalink(); ?>">
<div class="container-006__leftblock-info" style="background-image: url(<?php the_post_thumbnail_url() ?>);">
<div class="container-006__leftblock-info-text">
<p class="container-006__leftblock-info-date"><?php the_time('d/m/Y') ?></p>
<p class="container-006__leftblock-info-maintext">
<?php the_title(); ?>
</p>
</div>
</div>
</a>
<?}}?>
<?wp_reset_query();?>
</div>
<div class="container-006__rightblock">
<?
$query_news = new WP_Query(
array(
'posts_per_page' => 3,
'offset' => '1',
'post_type' => 'post',
'category_name' => 'novosti'
)
);
?>
<?
$i = 0;
if ( $query_news->have_posts() ) {
while ( $query_news->have_posts() ) {
$query_news->the_post();
?>
<?
$i = $i+1;
//echo ($i);
?>
<?
if (($i % 2) == 0) {
//echo ('ЧЕТНОЕ');
?>
<a class="container-006__rightblock-link" href="<?php the_permalink(); ?>">
<div class="container-006__rightblock-item" style="margin: 0;">
<p class="container-006__rightblock-item-maintext">
<span><?php the_time('d/m/Y') ?></span> <?php the_title(); ?>
</p>
<?$introtext = get_field('introtext');?>
<p class="container-006__rightblock-item-text">
<?=$introtext;?>
</p>
</div>
</a>
<?
} else {
//echo ('НЕ ЧЕТНОЕ');
?>
<a class="container-006__rightblock-link" href="<?php the_permalink(); ?>">
<div class="container-006__rightblock-item" style="margin: 0; background-color: #e9e9e9;">
<p class="container-006__rightblock-item-maintext">
<span><?php the_time('d/m/Y') ?></span> <?php the_title(); ?>
</p>
<?$introtext = get_field('introtext');?>
<p class="container-006__rightblock-item-text">
<?=$introtext;?>
</p>
</div>
</a>
<?
}
?>
<?}}?>
<?wp_reset_query();?>
</div>
</div>
</div>
Для вставки ACF полей используем конструкцию.
PHP
<?$introtext = get_field('introtext');?>
<?=$introtext;?>
Карточки сделали, теперь переходим к шаблонам для записей. За это отвечает файл в теме "single.php". Открываем его и правим так как на нужно.
Например так
<?php
/**
* Template name: Шаблон для записей
*/
get_header();
?>
<div class="container-page-002-01">
<div class="container-page-002-content">
<p class="container-page-002__title"><?php wp_title("", true); ?></p>
<?php the_post(); the_content(); ?>
</div>
</div>
<?php
get_footer();
Ну и в закреплении темы, еще один простой и небольшой пример.
Пример
<div class="container-007">
<div class="container-007-content">
<div class="container-007__items">
<?
$query_news = new WP_Query(
array(
'posts_per_page' => 4,
'post_type' => 'post',
'category_name' => 'v-smi'
)
);
?>
<?
if ( $query_news->have_posts() ) {
while ( $query_news->have_posts() ) {
$query_news->the_post();
?>
<a class="container-007__items-link" href="<?php the_permalink(); ?>">
<div class="container-007__items-itm">
<div class="container-007__items-itm-main">
<img class="container-007__items-itm-mainimg" src="/wp-content/themes/lawyers/assets/images/check.png" alt="">
<p class="container-007__items-itm-maintxt">
<?php the_title(); ?>
</p>
</div>
<?$introtext = get_field('introtext');?>
<p class="container-007__items-itm-main-text">
<?=$introtext;?>
</p>
</div>
</a>
<?}}?>
<?wp_reset_query();?>
</div>
</div>
</div>