Czy mogę dołączyć zdjęcie do wpisu bez dodawania go do wpisu?

11

kolejne pytanie o obraz.

Czy mogę dodawać / dołączać zdjęcia do wpisu bez dodawania go do wpisu? Powodem tego jest to, że mogę manipulować nim, co chcę, używając API.

ariefbayu
źródło
Myślę, że twoje pytanie jest trochę niejasne. Kiedy piszesz dodaj / załącz, czy masz na myśli, że chcesz wstawić go do postu?
hakre
Chcę powiązać kilka zdjęć z postami, ale nie chcę dodawać ich do postów (np. Nie są wyświetlane w poście, ale są powiązane z tym postem). Czy to jest wystarczająco jasne?
ariefbayu

Odpowiedzi:

5

Istnieje wtyczka o nazwie Załączniki http://wordpress.org/extend/plugins/attachments/ Może to jest coś, czego szukasz.

Horttcore
źródło
Wygląda na to, że nie zapisuje załączników w taki sam sposób, w jaki „podstawowe” systemy WordPress zapisują załączniki? Bardzo podobny, ale nie taki sam?
Jan Fabry
@Jan: Nie, ale brzmi dokładnie to, o co prosił cicho. To dobry sposób na dołączanie plików do posta z pełnej biblioteki multimediów. Wiem, że ludzie z wordpress-deutschland otrzymali wtyczkę, która pozwala ci dołączać pliki multimedialne do więcej niż 1 posta.
Horttcore,
7

Tak, to zdecydowanie możliwe: robię to w jednym z moich tematów.

Po prostu dodajesz swoje zdjęcia do posta, tak jakbyś chciał wstawić go do postu, ale następnie po prostu kliknij Zapisz wszystkie zmiany i nie klikaj przycisku „Wstaw do posta”.

Następnie możesz uzyskać dostęp do obrazów galerii tego wpisu, używając czegoś takiego:

$images = get_gallery_images();

gdzie zdefiniowałem tę funkcję w functions.php:

// get all of the images attached to the current post
    function get_gallery_images() {
        global $post;
        $photos = get_children( array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') );
        $galleryimages = array();
        if ($photos) {
            foreach ($photos as $photo) {
                // get the correct image html for the selected size
                $galleryimages[] = wp_get_attachment_url($photo->ID);
            }
        }
        return $galleryimages;
    }

A następnie rób co chcesz, aby te obrazy w plikach szablonów. (W moim przypadku przeglądam obrazy i umieszczam je w suwaku jQuery).

Istnieją również wtyczki, których możesz użyć, ale zawsze najlepiej jest zminimalizować wtyczki, jeśli możesz pomóc.

gillespieza
źródło
6

Tak, możesz.

Jeśli przesyłasz obraz za pomocą programu do przesyłania multimediów na ekranie edycji wpisu lub użyj update_post (), aby ustawić post_parentpole załącznika na identyfikator wpisu, do którego chcesz go dołączyć, jest on powiązany z tym postem, niezależnie od tego, czy jest faktycznie wstawiany do treści tego postu.

Możesz odzyskać wszystkie obrazy dołączone do określonego posta, dzwoniąc get_children()( patrz kodeks przykładów ).

Złote Jabłka
źródło