Zastanawiam się, czy istnieje sposób na zmianę domyślnej pozycji meta-skrzynek Wordppress, takich jak „polecany obraz” dla niestandardowych typów postów bez konieczności ich ręcznego przeciągania?
Przykład:
Zastanawiam się, czy istnieje sposób na zmianę domyślnej pozycji meta-skrzynek Wordppress, takich jak „polecany obraz” dla niestandardowych typów postów bez konieczności ich ręcznego przeciągania?
Przykład:
Odpowiedzi:
Możesz usunąć domyślne pola meta za pomocą remove_meta_box i ponownie dodać je w innej pozycji za pomocą add_meta_box:
add_action('do_meta_boxes', 'wpse33063_move_meta_box');
function wpse33063_move_meta_box(){
remove_meta_box( 'postimagediv', 'post', 'side' );
add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}
Spowoduje to usunięcie go z kolumny bocznej i dodanie do kolumny głównej. post
w tym przykładzie zmień na dowolny niestandardowy typ wpisu.
add_meta_box()
potrzebował $callback
nazwy funkcji, skąd mam znać nazwę funkcji używanej przez WordPress? Załóżmy, że jeśli chcę zrobić to samo z paskiem bocznym meta_box „Kategorie” (#categorydiv)?
/wp-admin/edit-form-advanced.php
a zobaczysz, gdzie WordPress dodaje wszystkie podstawowe pola meta oraz wywołania zwrotne i argumenty, których używa. dla kategorii jest post_categories_meta_box
.
Walczyłem też z tym. Naprawdę nie znalazłem czystego sposobu na przedefiniowanie układu / kolejności - zwłaszcza, że użytkownicy mogą go zmienić, kiedy / jeśli przeciągną pola.
Lubię robić rzeczy „za pomocą” wordpressa (zwykle się to opłaca), rathe niż zderzać się z nim, a sposób, w jaki to robi, jest następujący:
wordpress przechowuje przeciągnięte pozycje na użytkownika na ekran i jest cała masa meta-klawiszy użytkownika, których używa w zależności od strony / ekranu, na którym jest uruchomiona.
Możesz więc dodać akcję lub filtr dla każdego nowego użytkownika, aby ustawić ustawienia użytkownika tak, jak chcesz, aby były domyślne.
1) Przeciągnij i ułóż stronę, na którą chcesz wpłynąć, a następnie 2) poszukaj w phpmyadmin swojej meta użytkownika swojego identyfikatora i zobacz, co WP tam zapisało. 3) następnie zakoduj akcję nowego użytkownika w następujący sposób, jeśli użytkownik NIE ma już tego ustawienia (aby uniknąć zastąpienia osobistego wyboru), możesz ustawić go tak, jak chcesz - z wartością znalezioną po ręcznym ustawieniu.
Aby poznać pomysł meta-mety użytkownika, którego szukasz, zobacz te zrzuty ekranu: http://wpusersplugin.com/related-plugins/amr-user-templates/screenshots-for-user-templates/
(Skończyło się na napisaniu ogólnej wtyczki, aby jako administrator mogłem zdefiniować preferowany układ dla wszystkich użytkowników dla wszystkich rodzajów stron / ekranów. Następnie mogliby to zmienić, np. Gdy staną się bardziej biegli. Nie zmieni się również, gdy zmieni się wp rzeczy, ponieważ wtyczka ja po prostu pobiera wartości użytkownika szablonu, nawet nie próbuje ustawić wartości na wartość zakodowaną na stałe).
Jeśli chcesz dokładnie zamówić swoje skrzynki meta, możesz użyć tej wtyczki: https://wordpress.org/plugins/post-meta-box-order/
Odgrywa na meta-box-order_post opcji użytkownika (tabela wp_usermeta).
Uwaga 1: tę technikę można zastosować do dowolnego niestandardowego CPT, zmieniając koniec flagi: meta-box-order_ [YOUR_CPT]
Uwaga 2: nie zapomnij zmienić skrótu w kodzie wtyczki, aby zastosować nowe zamówienie do wszystkich istniejących użytkowników.