Создание и оформление записей в WordPress

Первое что необходимо сделать, это зайти в "Настройки постоянных ссылок" для настройки ЧПУ, которые будут автоматически создаваться 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>

 

Так же с моим портфолио можно ознакомиться на любой из представленной социальной сети, на своих страницах я публикую посты о своих работах, заданиях и целях.

Для связи со мной можно воспользоваться любой социальной сетью,
или написать на почту:

С моим резюме можно ознакомиться по ссылке:

© 2020-2024 Портфолио Юдина Александра г.Пенза. Все права защищены