Есть код PHP, который, когда пользователь нажимает на the_title (); затем содержимое появится
Моя проблема в том, что если есть неограниченное the_title (); а также содержимое();, Существует проблема с генерацией идентификатора, что он должен быть уникальным.
Как я могу создать для HREF = «# Идентификатор» а также ID = «идентификатор»???
<?php
// Start the loop.
while ( have_posts() ) : the_post();
echo '<a href="#id" data-toggle="collapse">';
the_title();
echo '</a>
<div id="id" class="collapse">';
the_content();
echo '</div>';
// End of the loop.
endwhile;
?>
Вы должны использовать как этот пример:
$i = 1; // counter start from 1
while ($i <= 10):
echo '<a href="id='.$i.'" data-toggle="collapse"> '.$i.'</a>';
$i++; // increment 1
endwhile;
Пример с вашим кодом:
$i = 1; // start counter from 1
while ( have_posts() ) : the_post();
echo '<a href="#'.$i.'" data-toggle="collapse">';
the_title();
echo '</a>
<div id="'.$i.'" class="collapse">';
$i++; // counter
the_content();
echo '</div>';
// End of the loop.
endwhile;
Что я изменил?
Просто добавьте счетчик в while loop
инициализировать с 1
сделать массив, который продолжает увеличиваться. используйте его индекс так:
<?php echo $new=array('1','2','3','4');?>
foreach($new as $key =>variable){
echo '<a href="#id<?php echo $key+1;?>" data-toggle="collapse">';
the_title();
echo '</a>
<div id="id<?php echo $key+1;?>" class="collapse">';
the_content();
echo '</div>';
}
Я попробовал это. это сработало для меня. надеюсь, вы тоже поняли, как это работает.
Я увеличиваю идентификатор с помощью значения ключа цикла foreach.