Chciałbym, aby niestandardowy interfejs pola był wyświetlany tylko wtedy, gdy określony szablon jest przypisany do konkretnej strony WordPress.
Jakieś pomysły?
wp-admin
conditional-tags
Jonathan Wold
źródło
źródło
Odpowiedzi:
Najlepszym sposobem podejścia do tej sytuacji jest JavaScript. W ten sposób, za każdym razem, gdy zmienia się wybrana wartość, możesz natychmiast ukryć / pokazać powiązany metaboks.
Użyj
wp_enqueue_script()
w,functions.php
aby załadować niestandardowy plik JavaScript w obszarze administracyjnym:Sam skrypt, który wymaga jQuery, po prostu ukrywa lub pokazuje metaboks na podstawie wybranej wartości z listy rozwijanej szablonu strony. W tym przykładzie pokazuję metaboks dla miniatur postów tylko w przypadku wybrania domyślnego szablonu strony:
I, dla zabawy, oto krótsza, mniej szczegółowa wersja tego samego skryptu:
źródło
Zamiast renderować metaboks tylko w celu ukrycia go za pomocą jQuery, możesz tego użyć. Jedyna różnica polega na tym, że ukrywanie / wyświetlanie metaboksu wymaga wybrania opcji „Aktualizuj” po zmianie pola rozwijanego.
Po prostu zaktualizuj linie 6 i 7 według potrzeb.
źródło