WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

При добавлении записи в теги пропадает изображение тегов (настроенных с помощью ACF)

При добавлении записи в теги пропадает изображение тегов (настроенных с помощью ACF).
Почему, подскажите пожалуйста?

(При добавлении записи в рубрики все работает)

Заметки к вопросу:
stepan месяц назад

ничего не понятно. На такие вопросы нельзя дать ответ.
Не скринов, не кода.

stepan месяц назад

Не понятно, какая связь между записями и изображениями в тегах?
Как запись влияет на изображение к тегу?

Maksim T месяц назад

Разделил записи по тегам, для тегов сделал фон + картинку с помощью acf, когда к тегу не присвоена запись - все работает , когда только добавляешь к тегу запись - не работает. с рубриками все работает.

stepan месяц назад

Скиньте код файла (весь файл) тега, где идет вывод фона, картинки, записей.
Одним словом, шаблон, который исполь для тега.
Это файл archive.php ?

Maksim T месяц назад

Фон

<?php if($fon_image=get_field("fon_dlya_tega",get_tag($tag))){?>
   <style type="text/css">
		.line-tags {
		  background: url(<?php echo $fon_image;?>);
		  }
  </style>
<?php }?>
Maksim T месяц назад

Картинка

<?php if($tag_image=get_field("kartinka_dlya_tega",get_tag($tag))){?>
	<img src="<?php echo $tag_image;?>"/>
<?php }?>
stepan месяц назад
переменная $tag

Откуда берется, как определяется?

stepan месяц назад

Код, который выше НУ никак не может быть так, чтоб не работал из-за того, что добавл запись.
Это не логично.
А вот если вы НЕПРАВИЛЬНО определ
get_tag($tag)

  • тогда все понятно.
stepan месяц назад

Сделайте так еще и напишите, что выходит:

echo '<pre>';
	print_r( get_tag($tag) );
echo '</pre>';

Печатается точно тег ?

Maksim T месяц назад

Подскажите пожалуйста, как правильно надо записать ?

Maksim T месяц назад
<!--vstavka-->
		<div class="line-tags">
			<?php if($fon_image=get_field("fon_dlya_tega",get_tag($tag))){?>
			<style type="text/css">
				.line-tags {
					background: url(<?php echo $fon_image;?>);
				}
			</style>
			<?php }?>
			<div class="line-tags-container">
				<div class="flex-tags-line">
					<div class="info-tags-line-rec">
						<a href="<?php echo get_permalink(398); ?>">рецепты </a><i class="fas fa-chevron-right"></i> <span>#<?php single_tag_title(''); ?></span>
					</div>
					<div class="img-tags-line">
						<?php if($tag_image=get_field("kartinka_dlya_tega",get_tag($tag))){?>
						<img src="<?php echo $tag_image;?>"/>
						<?php }?>
					</div>
					<div class="info-tags-line">
						<div class="info-tags-line-recipes">
							<a href="<?php echo get_permalink(398); ?>">рецепты </a><i class="fas fa-chevron-right"></i> <span>#<?php single_tag_title(''); ?></span>
						</div>
						<h1 class="tags-title-line"><?php single_tag_title(''); ?></h1>
						<?php echo tag_description(); ?>
					</div>
				</div>
			</div>
		</div>
		<!--/vstavka-->

		<!--recipes-card-->
		<div class="recipes-2">

				<!--flex card-recipes-->
				<div class="flex-recipes">
					<?php

					$args = array(
						'tag'=> get_query_var('tag'),
						'paged' => get_query_var('paged') ?: 1
					);
						if ( have_posts() ) : query_posts($args);
							while (have_posts()) : the_post();
						?>

					<!--card-recipes-->
					<div class="flex-card">
						<a href="<?php the_permalink(); ?>"  title="перейти к рецепту">
							<div class="recipes-card">
									<figure>
										<img src="<?php echo get_template_directory_uri() ?>/assets/images/recipes/cake.jpg" alt="">
									</figure>

									<div class="card-meta">
										<p class="dish-type" title="категория">Dessert</p>

										<ul class="dish-stats">
											<li title="время приготовления"><i class="far fa-clock"></i>2.5 hrs
											</li>
											<li title="порции"><i class="fas fa-utensils"></i>7</li>
											<li title="ингредиенты"><i class="fas fa-hamburger"></i> 5</li>
										</ul>
									</div>

									<h1 class="title-card"><?php the_title(); ?></h1>
							</div>
						</a>
					</div>
					<!--/card-recipes-->
						<?php endwhile; ?>
						<div class="pagintaion-container">
						<?php
							the_posts_pagination( array(
								'prev_next'    => true,
								'prev_text'    => ('<i class="fas fa-chevron-left"></i>'),
								'next_text'    => ('<i class="fas fa-chevron-right"></i>'),
							) );
						?>
						</div>
						<?php endif;
						wp_reset_query();
					?>

				</div>
				<!--/flex card-recipes-->
		</div>
		<!--/recipes-card-->
stepan месяц назад

я ниже в ответе пишу.
А также на "не получается" - скиньте весь код с файла, и тогда я смогу указать точно на проблему.
Но проблему в том, что во втором параметре вы НЕ передаете $term
поэтому ACF и не может выдать вам картинку.

stepan месяц назад

вместо

get_tag($tag)

нужно использовать:

get_term_by( get_queried_object_id() )
Maksim T месяц назад

не выводит, подскажите как выглядит полная запись, пожалуйста.

stepan месяц назад

Ваш код был:

<?php if($tag_image=get_field("kartinka_dlya_tega",get_tag($tag))){?>
	<img src="<?php echo $tag_image;?>"/>
<?php }?>

стало:

<?php if( $tag_image=get_field( "kartinka_dlya_tega",get_queried_object() ) ){?>
	<img src="<?php echo $tag_image;?>"/>
<?php }?>
Maksim T месяц назад

Спасибо! Для рубрик тоже стоит заменить?

Maksim T месяц назад
<?php if($fon_image=get_field("fon_dlya_taksonomii",get_category($cat))){?>
			<style type="text/css">
				.line-category {
					background: url(<?php echo $fon_image;?>);
				}
			</style>
			<?php }?>
stepan месяц назад

Да, можете использовать:

get_queried_object()

https://wp-kama.ru/function/get_queried_object

Maksim T месяц назад

Спасибо большое!

stepan месяц назад

Отмечайте вопрос как решенным.

0
Maksim T
месяц назад
  • 0
    stepan1693 www.weblancer.net/users/stepanko/?affili...

    вместо

    get_tag($tag)

    нужно использовать:

    get_queried_object()

    Исправлено на: get_queried_object()
    Можно использовать и get_term_by() - но там больше параметров нужно указывать.

    stepan месяц назад
    $tag_id = get_queried_object_id();
    get_term_by( 'id', $tag_id, 'post_tag' )
    <?php if($tag_image=get_field("kartinka_dlya_tega",get_queried_object())){?>
    	<img src="<?php echo $tag_image;?>"/>
    <?php }?>
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация