Okazuje się, że napisanie wtyczki dla #wordpress do sortowania postów, która na prawdę działa, a nie tylko trochę działa w określonych okolicznościach, to jednak mega wyzwanie.
Jestem z reguły sceptyczny odnośnie instalowania wtyczek w #wordpressie, jeśli nie jest to absolutnie konieczne, ale czasem - jak mus to mus, szczególnie gdy klient potrzebuje jakiejś funkcji, ale niekoniecznie chce za nią płacić.
Jednym z takich przypadków jest właśnie możliwość sortowania postów - rzecz, o której rzadko myśli się przy wycenie projektu, ale za to często chce się ją mieć finalnie.
Odnośnie pluginu sortującego mam kilka, jak się okazuje wygórowanych, wymagań:
- Musi mieć interfejs graficzny drag n drop, żeby user mógł na liście wpisów przeciągać je myszą. - Musi używać natywnego menu_order do zapisywania kolejności, a nie jakichś własnych cudów. - Musi automatycznie aplikować filtry, tak żeby żadna zmiana w kodzie nie była wymagana przy włączaniu/wyłączaniu wtyczki. - Musi mieć możliwość ręcznego wyłączania powyższej automatyzacji (na wszelki wypadek). - Musi działać z własnymi typami postów/taksonomii. - Musi działać z Polylang. - Musi działać z get_next_post(), get_previous_post() z uwzględnieniem taksonomii.
No i jak się okazuje większość pluginów wymięka na ostatnim punkcie, a niektóre (np. Intuitive Custom Post Order) wymiękają po prostu. Obsługa linków do następnych/poprzednich postów albo nie jest to brana w ogóle pod uwagę, albo działa źle (np. nie uwzględnia taksonomii jak wtyczka Simple Custom Post Order).
Jedyny plugin, który zdaje się spełniać wszystkie z powyższych wymagań to Post Types Order. Nie jestem jeszcze na 100% pewien czy jest kompatybilny z Polylang (wydaje mi się, że tak, ale nie przetestowałem tego zbyt dokładnie).
Tak na marginesie: w sumie nie dziwię się, że wtyczki wymiękają przy get_next_post() oraz get_previous_post(), bo używanie filtrów, które są dostępne dla tych funkcji (mowa o: get_{$adjacent}_post_join, get_{$adjacent}_post_where, get_{$adjacent}_post_sort) wymaga parsowania zapytań SQL (np. za pomocą regexów...), więc o błąd nietrudno.
#programowanie | #webdev | #wordpress | #wordpressie <---- Obserwuj jeśli chcesz czytać o WordPressie, czarnolistuj jeśli uwłacza to twojej godności programisty.
@wytrzzeszcz: @Rst00: miszczu jeden z drugim, śmiejecie się, bo widać nie wiecie jednego: Joomla jest nowocześniejszym systemem CMS od archaicznego Wordpressa, którego kod to syf (tak samo jak większości jego wtyczek).
Jestem z reguły sceptyczny odnośnie instalowania wtyczek w #wordpressie, jeśli nie jest to absolutnie konieczne, ale czasem - jak mus to mus, szczególnie gdy klient potrzebuje jakiejś funkcji, ale niekoniecznie chce za nią płacić.
Jednym z takich przypadków jest właśnie możliwość sortowania postów - rzecz, o której rzadko myśli się przy wycenie projektu, ale za to często chce się ją mieć finalnie.
Odnośnie pluginu sortującego mam kilka, jak się okazuje wygórowanych, wymagań:
- Musi mieć interfejs graficzny drag n drop, żeby user mógł na liście wpisów przeciągać je myszą.
- Musi używać natywnego
menu_order
do zapisywania kolejności, a nie jakichś własnych cudów.- Musi automatycznie aplikować filtry, tak żeby żadna zmiana w kodzie nie była wymagana przy włączaniu/wyłączaniu wtyczki.
- Musi mieć możliwość ręcznego wyłączania powyższej automatyzacji (na wszelki wypadek).
- Musi działać z własnymi typami postów/taksonomii.
- Musi działać z Polylang.
- Musi działać z
get_next_post()
,get_previous_post()
z uwzględnieniem taksonomii.No i jak się okazuje większość pluginów wymięka na ostatnim punkcie, a niektóre (np. Intuitive Custom Post Order) wymiękają po prostu. Obsługa linków do następnych/poprzednich postów albo nie jest to brana w ogóle pod uwagę, albo działa źle (np. nie uwzględnia taksonomii jak wtyczka Simple Custom Post Order).
Jedyny plugin, który zdaje się spełniać wszystkie z powyższych wymagań to Post Types Order. Nie jestem jeszcze na 100% pewien czy jest kompatybilny z Polylang (wydaje mi się, że tak, ale nie przetestowałem tego zbyt dokładnie).
Tak na marginesie: w sumie nie dziwię się, że wtyczki wymiękają przy
get_next_post()
orazget_previous_post()
, bo używanie filtrów, które są dostępne dla tych funkcji (mowa o:get_{$adjacent}_post_join
,get_{$adjacent}_post_where
,get_{$adjacent}_post_sort
) wymaga parsowania zapytań SQL (np. za pomocą regexów...), więc o błąd nietrudno.#programowanie | #webdev | #wordpress | #wordpressie <---- Obserwuj jeśli chcesz czytać o WordPressie, czarnolistuj jeśli uwłacza to twojej godności programisty.
nierozwminm
@tylkostrimi: przecież 80% powodem dlaczego WordPress jest tak popularny jest właśnie szeroki ekosystem wtyczek.
OK. Chyba zaszło nieporozumienie. Ani ja, ani mój wpis nie ma nic wspólnego ze #strimi. Zbieżność nicka z nazwą serwisu jest przypadkowa.
A tak swoją drogą, słyszałem, że przepisują Strimi z WordPressa na Joomlę.
@mateo555
Ja w takim razie zaliczam się do pozostałych 20% :)
IMO WordPress jest popularny z kilku powodów:
- Jest bardzo prostu dla
no to #!$%@? XD
@tylkostrimi: co ( ͡° ͜ʖ ͡°)