distCom
@distCom
Начинающий программист

Как вывeсти страницы worpress?

Здравствуйте, я хочу сделать на сайте вывод страниц для каждого сериала, с выводом постов я разобрался, думал со страницами та же схема, но тут как то совсем по другому. Для постов я добавляю фотографии через acf, так как не смог разобраться с миниатюрой изображения, его нет даже с плагином классического редактора, не понимаю в чем проблема, поэтому делаю это через acf
<!-- вывод серий -->
							<?php
							global $post;
							$args = array('category' => 'winx');
							$myposts = get_posts($args);
							foreach ($myposts as $post) {
								setup_postdata($post);
							?>
								<div class="serial__item">
									<div class="serial__preview">
										<a class="serial__poster" href="<?php the_permalink(); ?>">
											<img loading="lazy" src="<?php echo get_template_directory_uri(); ?>/images/play.svg" class="serial__play" alt="">
											<img loading="lazy" class="serial__img" src="<?php echo the_field('миниатюра'); ?>" alt="">
											<p>52:00</p>
										</a>
									</div>
									<div class="serial__text">
										<a href="<?php the_permalink(); ?>" class="serial__number"><?php the_title(); ?></a>

									</div>
								</div>

							<?php
							}
							wp_reset_postdata();
							?>
							<!-- конец вывода серий -->


6011d1b8e4107370841361.jpeg

С постами все получилось просто, а со страницами что то не понимаю, пробовал добавить изображения через acf, но он почему то не воспринимает его, то ли эти acf не понимает, что это выводятся страницы, то ли не знаю даже. Вот код вывода страниц:
<?php
					$mypages = get_pages(array(
						'meta_key'     => '_wp_page_template',
						'meta_value'   => 'serial-template.php',
						'hierarchical' => 0
					));
					foreach ($mypages as $page) {
						
					?>
						
						<div class="serial__item">
									<div class="serial__preview">
										<a class="serial__poster" href="<?php echo get_page_link($page->ID); ?>">
											<img loading="lazy" src="<?php echo get_template_directory_uri(); ?>/images/play.svg" class="serial__play" alt="">
											<img loading="lazy" class="serial__img" src="<?php echo get_the_post_thumbnail() ?>" alt=""> <!-- пробовал acf, он не работает, потом попробовал вывести миниатюру, но у меня в wordpress вообще нет такой вкладки и не могу добавить ее сериалу -->
											<p><?php echo the_field('имясериала'); ?></p>  <!--пробовал тут acf -->
										</a>
									</div>
									<div class="serial__text">
										<a href="<?php echo get_page_link($page->ID); ?>" class="serial__number"><?php echo $page->post_title; ?></a>

									</div>
								</div>
						<?php
					}; ?>

Выглядит сейчас вот так6011d2b16612a980967175.jpeg
Ссылки на страницу работают, но изображение не подгружается.
Есть ли способ как то загрузить изображение, или может вы знаете способ лучше для вывода страниц, хотелось бы прочитать ваши советы, спасибо
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
distCom
@distCom Автор вопроса
Начинающий программист
Я не очень понял как это произошло, но вероятнее всего из за кода, который я нашел на сайте acf
<img loading="lazy" class="serial__img" src="<?php $variable = the_field('фотосериал', $page->ID); ?>" alt="">
											<p><?php $variabl = the_field('имясериал', $page->ID); ?></p>

601270374f4fe651291844.jpeg

После указания 2 параметров фотографии начали выводиться, не очень понял как это произошло, раньше пытался так же сделать, но не получалось, наверное, из за того, что в p был неправильно указан этот параметр
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
solidcreature
@solidcreature
WordPress-митапы в Москве (vk.com/wpmeetup)
Здравствуйте. Попробуйте добавить в начало цикла setup_postdata($page); и не забудьте wp_reset_posdata(); после окончания цикла
Ответ написан
artzolin
@artzolin
php, WordPress разработка сайтов zolin.digital
Так передавайте во все функции ID, как вы делаете c get_page_link($page->ID);: get_the_post_thumbnail($page->ID); и the_field($selector, $page->ID);
Ответ написан
Ваш ответ на вопрос

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

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