@Slava_Fame

Как программно создавать id для элемента?

Добрый день. У меня есть цикл, который выводит слайды (библиотека owl-carousel2) с информацией по врачам. И для каждого слайда (класс doctors_slider__item) мне надо создать уникальный ID для элемента, чтобы потом можно было обратиться к нему по другой ссылке на этой же странице и открыть нужного доктора. Собственно, вот код:

<!-- Сам слайдер -->
    <div id="doctors_slider" class="owl-carousel owl-theme doctor_slider">
            <?php 
                $args = array(
                    'post_type' => 'Specialists',
                    'post_per_page' => -1,
                    'order' => 'asc',
                );
                $specialists = new WP_Query( $args ); 

                if( $specialists->have_posts() ) {
                    while ($specialists->have_posts() ) {
                    $specialists->the_post(); ?>
             <!-- Определенный слайд, которому надо присвоить ID -->
                        <div class="doctors_slider__item" id="">

                        </div>
                    <?php } 
                        wp_reset_postdata();
                    }?>
                </div>
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
Chefranov
@Chefranov
Новичок
теги JS и JQuery тут не причем. Вам в цикле php просто надо выводить счетчик. Типа такого:
<?php 
  $counter = 0;
  while (have_posts()) : the_post(); $counter++ 
?>
<div id="slide-<?php echo $counter; ?>"></div>
<?php endwhile; ?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Ну и раздай им id в этом же цикле.
doc_1, doc_2, doc_3... или типа того.
Ответ написан
Комментировать
<?php
$html = '<div id="doctors_slider" class="owl-carousel owl-theme doctor_slider">';

$specialists = new WP_Query([
    'post_type' => 'Specialists',
    'post_per_page' => -1,
    'order' => 'asc',
]);

$specialistsId = 1;

while ($specialists->have_posts()) {
    $specialists->the_post();

    $html .= <<<HTML
<div class="doctors_slider__item" data-id="{$specialistsId}">

</div>
HTML;
    $specialistsId++;
}
wp_reset_postdata();
$html .= '</div>';

echo $html;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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