Używam zaawansowanych pól niestandardowych (ACF) do pobierania informacji o przemienniku ze strony zdarzeń i wyświetlania skróconej listy zdarzeń na stronie głównej.Zaawansowane pola niestandardowe wyświetlają ostatnie trzy wiersze ponizszego przemiennika
Skonfigurowałem repeater, aby umożliwić użytkownikowi wpisanie, w którym miesiącu odbędzie się wydarzenie (Pozwalając im na umieszczenie wielu miesięcy zdarzeń), a następnie sub-repeater, aby umożliwić im dodawanie wielu zdarzeń dla dany miesiąc. Przykład poniżej:
marca
- wydarzenie 09 marca
- 12 marca wydarzenie
- marca wydarzenie 28-ty
kwietnia
- 01 kwietnia wydarzenie
- 28. wydarzenie
To jest bieżące wyjście na stronie zdarzeń i działa zgodnie z przeznaczeniem.
Na stronie głównej serwisu muszę pobrać 3 najnowsze (zdarzenie znajdujące się na dole listy jest wydarzenie najnowsze) i wyświetlić je na stronie głównej.
Nie mam problemu z ciągnięciem i wyświetlaniem zdarzeń na stronie głównej. To, z czym mam problem, polega na wyświetlaniu zdarzeń, gdy ostatnie trzy zdarzenia (repeater dziecka) przekraczają miesiące (repeater macierzysty).
Po prostu ograniczenie wyjścia zdarzeń za pomocą pętli php w instrukcjach if, while ogranicza liczbę zdarzeń wyjściowych w danym miesiącu. Mój kod, którego aktualnie używam na stronie głównej, znajduje się poniżej.
<?php if(have_rows('event_month', 1263)): ?>
<ul>
<?php while (have_rows('event_month', 1263)) : the_row(); ?>
<?php if(have_rows('event', 1263)):; ?>
<?php while (have_rows('event', 1263)) : the_row(); ?>
<li>
<h3>
<a href="<?php echo esc_url(home_url('/')); ?>events/"><?php $summary = get_sub_field('event_title');
echo substr($summary, 0, 34),'...'; ?></a>
<span><?php the_sub_field('event_day_of_week');?>, <?php the_sub_field('event_sub_month');?> <?php the_sub_field('event_day');?></span>
</h3>
</li>
<?php endwhile; ?>
<?php else: ?>
<p>Show dates to be announced soon.</p><?php the_sub_field('event_title'); ?>
<?php endif; ?>
<?php endwhile; ?>
</ul>
Co mój sygnał wyjściowy na stronie głównej będzie wyglądać, jeśli uchwycić trzy ostatnie zdarzenia:
- wydarzenie 28 marca
- 01 kwietnia wydarzenie
- kwietnia wydarzenie 28-ga
Każdy powód, aby nie używać pojedynczego wzmacniacza z polem wprowadzania daty? Następnie możesz wyodrębnić z niego miesiąc, aby ładnie zagrać z kodem w innym miejscu na stronie, co sprawi, że posortowanie najnowszych wpisów na stronie głównej będzie bardzo proste. – Leland
@ Landeland - doceniam, że pytasz, ponieważ jest to coś, czego nie brałem pod uwagę. Oto link do strony wyświetlającej wydarzenia z każdego miesiąca. http://ardentsolutionsllc.com/events/ Gdybym używał tylko jednego przemiennika, nie wiedziałbym, jak powiązać zdarzenia z każdym miesiącem. Strona główna pokazuje listę wydarzeń (u dołu po prawej), które próbuję skrócić, aby wyświetlić tylko 3 ostatnie wydarzenia, które zwykle pojawiają się u dołu każdego miesiąca na stronie wydarzeń. –
Dobra, ponownie czytam twój post - chcesz, na stronie głównej, 3 ostatnio dodane * wydarzenia? Czy chcesz na stronie głównej 3 zdarzenia, które zostały ostatnio utworzone przez administratora WordPressa? Czy wolałbyś, aby 3 wydarzenia, które mają miejsce najwcześniej do dzisiaj? – Leland