@AF365

Остаются пустые дубликаты записей после загрузки их в wordpress. Как их убрать?

После публикации записи с помощью цикла вывода записей почему-то остаются пустые дубликаты-шаблоны этих записей, хотя в верстке их нет, но в инструментах разработчика есть.
5b8a5e85b1662637733729.png
Кэш почистен, все равно остаются.
Код выглядит вот так -

<?php while (have_posts()) : the_post(); ?>
    <div class="offers-container">
      <a data-fancybox="gallery" href="<?php echo get_field('img-box'); ?>"><img src="<?php echo get_field('img-box'); ?>" alt=""></a>
      <p class="offers-price"><?php echo get_field('cost1'); ?></p>
      <p class="offers-ip"><?php echo get_field('cost2'); ?></p>
      <p class="offers-illustration"><?php echo get_field('desc');?></p>
      <button class="offers-button" id="popup"> Оставить заявку  </button>
    </div>
      <?php endwhile; ?>


Помогите с этим, пожалуйста!
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
Vnevremen
@Vnevremen
digital designer
Тут проблема именно в вашем способе организации контента в админке, вы перемешали все сущности и добавляете их в виде стандартных "постов".

Соответственно когда проходите стандартным циклом не изменяя его параметров, он вытягивает все посты, а т.к. не все являются "предложениями" с заполненными полями 'img-box' и т.д. — они выводятся пустыми.

Всё это гиблая история, даже если играться с параметрами цикла.

Если необходимо натянуть лендинг на wordpress — есть оптимальный способ, который я проверил на практике. (хотя использование вордпресса для лендинга в качестве админки оптимальным в принципе назвать нельзя).

  1. Создаете страницу "Главная страница". В настройках (раздел "чтение") в пункте "на главной странице отоброжать" выбираете "статическую страницу", в подпункте "главная страница" выбираете только что созданную страницу.
  2. Теперь уже можно настроить структуру полей для редактирования информации из админки. Вся информация будет редактироваться через созданную "главную страницу". Используя уже знакомый вам плагин ACF и его тип поля "repeater" создаем необходимые поля: repeater лучшие предложения с нужными полями (фото, название, цена), repeater отзывы с нужными полями (имя, текст, результат, проблема, фото) и так для всех сущностей.
  3. Курим мануал и выводим нужную информацию в нужных местах уже циклом
    while ( have_rows('repeater_field_name') ) : the_row();

  4. Играемся с кастомизацией админки под заказчика и скрываем все "лишнее", скорее всего даже просто делаем редирект на страницу редактирования "главной" сразу при входе.


Есть другой способ — через кастомные типы записей, а не ACF Repeater, но там неопытным лендингоделам проще наделать ошибок. Используйте его, когда освоите тот что я описал выше, скорее всего уже на другом проекте.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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