@id_baton4eg

Почему функция возвращает одинаковое значение?

(для модера) тег wordpress только из за функции add_action, в остальном это скорее пхп, но может дело в функции..
Проблема именно в выводе в скрипт, а именно, вывожу в цикле даты обращаясь к функции:
if( have_rows('dates2show') ):
	while ( have_rows('dates2show') ) : the_row();
		$query_date = date_format(date_create_from_format('d/m/Y', get_sub_field('date')),'Ymd');
		checkmyvalue();
	endwhile;
else :
endif;

функция к которой обращаюсь выглядит так:
function checkmyvalue() {
	global $query_date;
	echo '<h1>' . $query_date . '</h1>';
	add_action('wp_footer', function() {
		global $query_date; ?>
	    <script>
          alert(<?php echo $query_date ?>);
         </script>
    <?php
	},99,11);

}


Всего дат 2, в результате вывода на php на странице отображаются 2 разных даты (все верно), но js всплывает алерт дважды с одинаковой датой (последнего значения), как это побороть ? Функцию спецаильно сделал анонимной, но это не помогло.
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 1
Exploding
@Exploding
wtf?
Что-то вы перекривили с этим всем))) И функция ничего не возвращает вообще.
Вот так сделайте, и все нормально будет работать:
if( have_rows('dates2show') ){
	
	 while ( have_rows('dates2show') ){
		$query_date = date_format(date_create_from_format('d/m/Y', get_sub_field('date')),'Ymd');
		echo '<h1>' . $query_date. '</h1>';
		add_action("wp_footer", function() {"<script>alert('$query_date')</script>"},99,11); 		
	}
	the_row(); //название конечно...
	
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы