Опубликовано Оставить комментарий

WordPress: вывод в шаблон записи

WordPress: вывод в шаблон записи

Содержание

  1. ID записи
  2. URL текущий страницы
  3. Название / H1
  4. Текст
  5. Изображение
  6. Произвольные поля
  7. Рубрики / категории
  8. Метки / теги
  9. Вывод записей из той же категории

В данной статье представлены примеры вывода информации на странице записи WordPress.

В качестве шаблона для вывода записи используется файл:
/wp-content/themes/название_темы/single.php, если его нет то index.php

Далее представлен базовый шаблон. Данные поста выводятся в цикле have_posts(), поэтому не нужно указывать $id в функциях вывода контента.

<?php get_header(); ?> 
<?php while (have_posts()) { 	
the_post();	?> 	
Вывод контента...	
<h1><?php the_title(); ?></h1>		
<?php } ?> 
<?php get_footer(); ?>

HTML1

<?php the_ID(); ?>

HTML

$id = get_the_ID();echo $id;

PHP2

<?php the_permalink(); ?>

HTML

$url = get_the_permalink();echo $url;

PHP3

<h1><?php the_title(); ?></h1>

HTML

$h1 = get_the_title();echo $h1;

PHP4

<?php the_content(); ?>

HTML

$content = get_the_content();echo $content;

PHP5

Тег <img>.

<?php the_post_thumbnail('full'); ?>

HTML

$img = get_the_post_thumbnail(null, 'full');echo $img;

PHP

Размер изображения можно задать следующие:

thumbnailмаленькая
mediumсредняя
largeбольшая
fullоригинал
array(100, 100)произвольный размер

URL изображения.

<?php the_post_thumbnail_url('full'); ?>

HTML

$src = get_the_post_thumbnail_url(null, 'full');echo $src;

PHP

Вывод превьюшки с ссылкой на оригинал.

<a href="<?php the_post_thumbnail_url('full'); ?>">	<?php echo the_post_thumbnail('thumbnail'); ?></a>

HTML

ID и данные о картинке.

Функция wp_get_attachment_image_src($id, $size) возвращает массив данных картинки по ID.

$thumb_id = get_post_thumbnail_id();$src = wp_get_attachment_image_src($thumb_id, 'full');print_r($src);

PHP

Результат

Array(    [0] => http://example.com/wp-content/uploads/image.png    [1] => 150    [2] => 111    [3] => 1)

Подробнее

verbamayr.ru

Перейти на сайт

favicon

Реклама6

Плагин ACF, подробнее…

Текстовые и численные поля.

<?php the_field('название_поля'); ?>

HTML

Изображения.

<?php $img = get_field('название_поля'); ?><img src="<?php echo $img['url']; ?>" alt="<?php echo $img['name']; ?>">

HTML

Файлы.

<?php $file = get_field('название_поля'); ?><a href="<?php echo $file['url']; ?>"><?php echo $file['name']; ?></a>

HTML

Повторитель полей.

Для текстовых значений

<?php while (the_repeater_field('название_родительского_поля')): ?>	<?php the_sub_field('название_поля'); ?><?php endwhile; ?>

HTML

Для изображений и файлов

<?php while (the_repeater_field('название_родительского_поля')): ?>	<?php $field = get_sub_field('название_поля'); ?>	<img src="<?php echo $field['url']; ?>"><?php endwhile; ?>

HTML7

Список ссылок.

the_category($id) и get_the_category_list($id) – выведут список ссылок рубрик.

<?php the_category(); ?>

HTML

$category = get_the_category_list();echo $category;

PHP

Результат

<ul class="post-categories">	<li><a href="http://example.com/category/razdel-1/" rel="category tag">Раздел 1</a></li>	<li><a href="http://example.com/category/razdel-2/" rel="category tag">Раздел 2</a></li>	<li><a href="http://example.com/category/razdel-3/" rel="category tag">Раздел 3</a></li></ul>

get_the_category($id) – вернет массив категорий.

$category = get_the_category();print_r($category);

PHP

Результат

Array(    [0] => WP_Term Object        (            [term_id] => 4            [name] => Раздел 1            [slug] => razdel-1            [term_group] => 0            [term_taxonomy_id] => 4            [taxonomy] => category            [description] =>             [parent] => 0            [count] => 1            [filter] => raw            [cat_ID] => 4            [category_count] => 1            [category_description] =>             [cat_name] => Раздел 1            [category_nicename] => razdel-1            [category_parent] => 0        )    ...)

На основе этой функции можно вывести список категорий с изображениями и текстом. Картинки к рубрикам добавляются с помощью плагина произвольных полей.

<?php$category = get_the_category();foreach ($category as $row) {	?>	<div class="category-item">		Картинка:		<img src="<?php echo get_field('имя_поля', $row->taxonomy . '_' . $row->cat_ID); ?>"> 		Ссылка и название:		<a href="<?php echo get_category_link($row->cat_ID); ?>">			<?php echo $row->name; ?>		</a> 		Текст:		<?php echo $row->category_description; ?>	</div>	<?php}?>

HTML8

Функции the_tags() и get_the_tag_list() выведут ссылки с тегами к которым привязана запись.

<?php the_tags('<p>Метки: ', ', ', '</p>'); ?>

HTML

echo get_the_tag_list('<p>Метки: ',', ','</p>');

PHP

get_the_tags($id) – возвращает массив тегов.

$tags = get_the_tags();print_r($tags);

PHP

Array(    [0] => WP_Term Object        (            [term_id] => 24            [name] => Тег 1            [slug] => teg-1            [term_group] => 0            [term_taxonomy_id] => 24            [taxonomy] => post_tag            [description] =>             [parent] => 0            [count] => 1            [filter] => raw        ))

9

Следующий пример с помощью функции WP_Query() выведет 6 последних записей из категории текущей записи с картинками.

<?php$category = get_the_category();$query = new WP_Query(	array(		'post_type' => 'post', 		'post_status' => 'publish', 		'posts_per_page' => 6, 		'cat' => $category[0]->cat_ID,		'post__not_in' => array(get_the_ID()),		'orderby' => 'date',		'order' => 'DESC'	)); if ($query->have_posts()) {	while ($query->have_posts()) {		$query->the_post();		?>				<div class="post-item">			Ссылка и название записи			<a href="<?php the_permalink(); ?>">				<?php the_title(); ?>			</a> 			Картинка			<?php the_post_thumbnail(array(200 ,200)); ?>							Превью			<?php echo get_field('имя_поля'); ?>				</div> 		<?php 	}	wp_reset_postdata();}?>

HTML

 19.10.2018, обновлено 15.10.2019

https://snipp.ru/raznoe/wordpress-post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *