Na przykład...
add_action('init', 'reg_tax');
function reg_tax() {
register_taxonomy_for_object_type('category', 'attachment');
}
Dodaje pole wejściowe „Kategoria” do menedżera multimediów i edytora załączników. Chciałbym wiedzieć, czy można zmienić tę funkcję, aby zamiast tego przechwycić adres URL „docelowego łącza”. Adres URL zostanie wykonany po kliknięciu obrazu.
Musisz także wiedzieć, jak pobrać wartość dla tego nowego pola.
AKTUALIZACJA: Dzięki Thomasowi Odpowiedź poniżej, oto moje ostateczne rozwiązanie ...
function my_image_attachment_fields_to_edit($form_fields, $post) {
$form_fields["custom1"] = array(
"label" => __("Image Links To"),
"input" => "text",
"value" => get_post_meta($post->ID, "_custom1", true)
);
return $form_fields;
}
function my_image_attachment_fields_to_save($post, $attachment) {
if( isset($attachment['custom1']) ){
update_post_meta($post['ID'], '_custom1', $attachment['custom1']);
}
return $post;
}
add_filter("attachment_fields_to_edit", "my_image_attachment_fields_to_edit", null, 2);
add_filter("attachment_fields_to_save", "my_image_attachment_fields_to_save", null, 2);
theme-development
Scott B.
źródło
źródło
Odpowiedzi:
Używam bardzo szorstkiej wtyczki, aby dodać informacje o wykonawcy i adres URL do plików multimedialnych. Potrzebuje drobnych poprawek (i potrzebuję czasu), ale działa i może pokazać, jak dodać dodatkowe pola i jak je wykorzystać w swoim motywie:
źródło
Odpowiadając na pytanie Drew w komentarzach, możesz dostosować HTML dla pola, ustawiając na
input
nowy ciąg, a następnie dodając ten sam ciąg jako klucz do$form_fields
tablicy.Domyślnie WordPress akceptuje tylko
text
itextarea
dla tegoinput
typu. Wszystko inne będzie musiało zostać zdefiniowane w niestandardowy sposób, jak poniżej. Nie próbowałem tak naprawdę utrwalać pól formularza w ten sposób, więc aby inny typ danych wejściowych, na przykład przycisk opcji, mógł wymagać nieco dodatkowej finezji.źródło