Wpis z mikrobloga

Siema,

Po tygodniu walki jakoś udało mi się rozwiązać większość problemów z mojego wcześniejszego wpisu. Nadal jednak mam jeden problem, tym razem z usuwaniem dodanych przeze mnie nowych wymiarów uploadowanych obrazków.

Możliwości są dwie:

1) albo

add_action( 'init', 'bpc_addimagesizes' );
będzie dodawany wyłącznie na stronie administracyjnej mojego plugina, a na innych zadziała

remove_action
- niestety ani

is_page()
, ani

if ($_REQUEST['page'] == 'bpc-add-products')
, ani

add_action(init-suffix-mojej-strony, funkcja)
, ani sprawdzanie, który

$screen
został załadowany nie działa - a internety mówią mi, że później niż przy hooku 'init' dodać nowych wymiarów się nie da, chyba, że źle szukałem.

2) albo powyższa akcja nastąpi zawsze bezwarunkowo, a warunkowo zostanie zastosowany filtr wyłączający (unset) nowe rozmiary:

add_filter( 'intermediate_image_sizes_advanced', 'bpc_remove_new_imagesizes' );
i tutaj znowu problem, bo w momencie gdy osadzam filtr w warunku lub warunek w funkcji odpalanej przez filtr, efekt jest żaden. Oczywiście funkcja jest jak najbardziej poprawna i bez conditionala działa bez problemu (wrzuciłem też razem z filtrem do conditionala echo, które oczywiście wyświetla się tylko wtedy kiedy powinno).

Domyślam się, że problem może wynikać z kolejności hook'ów - być może '

intermediate_image_sizes_advanced
' odpalane jest przed '

init
', ale potwierdzenia tego w dokumentacji nie znalazłem...

Nie oczekuję, że ktoś będzie za mnie nad tym ślęczał i kombinował, ale jeśli ktoś zna gotowe rozwiązanie to byłoby bardzo fajnie, bo wertuję stack overflow, blogi, fora i codex, i za #!$%@? nie znalazłem nic (jedynie kilka podobnych pytań, które zwykle kończyły bez odpowiedzi). Chyba już milion kombinacji wykorzystałem if'ów i bóg wie czego i dalej nic.

#wordpress #wordpressplugins
  • 4
  • Odpowiedz
@gehog: Dzięki. Zobaczymy czy uda się coś #!$%@?ć z ich kodu, ale wątpię, bo operowanie na już zuploadowanych obrazkach to jedno, a ja próbuję rozwiązać problem podczas uploadu ( ͡° ʖ ͡°)
  • Odpowiedz
@gehog: Piszę plugina, częścią jego użyteczności jest ładowanie obrazków, które: a) lądują w specjalnie wydzielonym folderze - działa, b) są ładowane w dwóch nowych rozmiarach - działa, c) lądują pod odpowiednio zmienioną nazwą - działa.

Problem brzmiał: co zrobić, aby a) b) i c) działało WYŁĄCZNIE gdy użytkownik uploaduje obrazek z mojego plugina, a nie ze standardowego wordpresowego Media -> Add New.

a) i c) po wielkich bólach udało mi się
  • Odpowiedz