Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
najnowsze zdjęcia na głównej stronie + wordpress
#2
Mogę ci powiedzieć, jak ja to kiedyś robiłem.
Używałem pluiginu WP Simple Galleries - moim zdaniem jeden z lepszych, mimo że bardzo prosty.
Plugin ten dodaje ci możliwość wgrywania galerii do danej strony czy kategorii elementu. W połączeniu z advanced custom fields daje to naprawdę fajne rozwiązanie i czytelne od strony backendu.

Ja sobie stworzyłem strony o kategorii Galeria. Następnie na stronie głownej robiłem pętlę pobierając wpisy o tej kategorii i dla każdego z nich pobierając zdjęcia. Potem te galerie łączyłem w jedną tablicę (array_merge), Potem ją sortowałem i pobierałem kilka najnowszych zdjęć. Poniżej kod który to robił (po części korzysta z metod, które daje powyższy plugin)

Kod:
<?php
function getThumb($id, $post_id) {
    $url = wp_get_attachment_url($id);
    if (wpsg_of_get_option('wpsimplegallery_use_timthumb', '0') === '1') {
        $width = 190;
        $height = 230;
        $image = array(
                WPSIMPLEGALLERY_URL . 'timthumb.php?src=' . $url . '&q=85&w=' . $width . '&h=' . $height,
                $width,
                $height
            );
    } else {
        $image = wp_get_attachment_image_src($id, array(190,190), true);
    }
    return $image[0];
}

function getImagesInGallery($post_id = false, $nr) {
    global $post;
    global $images;

    $gallery = get_post_meta($post_id, 'wpsimplegallery_gallery', true);
    $gallery = (is_string($gallery)) ? @unserialize($gallery) : $gallery;

    if (is_array($gallery) && count($gallery) > 0) {
        $nr = 0;
        foreach ($gallery as $thumbid) {
            $image =  getThumb($thumbid, $post_id);
            if (!isset($images[$nr])) $images[$nr] = Array();
            array_push($images[$nr], Array($image, get_permalink($post_id)));
            $nr++;
        }
    }
}

$param = array( 'post_type' => 'Galeria');
$loop = new WP_Query( $param );
$images = Array();
$countImages = 0;
while ( $loop->have_posts() ) {
    $loop->the_post();
    getImagesInGallery($post->ID, $galleryNr);
}


$result = Array();
for ($i=0; $i<count($images); $i++) {
    $result = array_merge($result, $images[$i]);
}

if (count($result)<9) {
    $imagesNumber = count($result);
} else {
    $imagesNumber = 9;
}
?>

Aby potem to wyswietlic korzystalem z kodu:

Kod:
<ul>
    <?php
    for ($i = 0; $i<$imagesNumber; $i++) {
        echo '<li><a href="'.$result[$i][1].'"><img src="'.$result[$i][0].'" /></a></li>';
    }
    ?>
</ul>
Odpowiedz


Wiadomości w tym wątku
RE: najnowsze zdjęcia na głównej stronie + wordpress - przez Kartofelek - 26-07-2014, 01:37

Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [Wordpress]Dodawanie wpisów na głównej mat2224 2 4,339 24-06-2016, 14:57
Ostatni post: web20
  [Wordpress] GD Star Rating - Front Kamil 11 12,373 24-06-2016, 14:56
Ostatni post: web20
  Wordpress galeria Kartofelek 2 4,576 11-05-2013, 17:08
Ostatni post: Kartofelek
  [Wordpress] Skrócona nazwa kategorii Kamil 2 3,944 24-05-2012, 20:43
Ostatni post: Engine
  [WordPress] Wtyczka do rozbudowy opcji dla używkoników Kamil 3 4,229 02-11-2011, 00:58
Ostatni post: Marcin

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl