Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
najnowsze zdjęcia na głównej stronie + wordpress
#1
Cześć

Mam taki problem, nie wiem jak wyświetlić zdjęcia z najnowszych galerii na stronie głównej.

Chodzi mi o to by wyświetlało cztery zdjęcia na głównej stronie, każde zdjęcie z innej galerii (np. pierwsze zdjęcie w danej galerii) + tytuł galerii
i klikając na któreś z nich by mnie przekierowało bezpośrednio na galerię.
Kompletnie nie potrafię znaleźć takiego rozwiązania. Z najnowszymi wpisami sobie poradziłem ale z galerią nie ;(

Poniżej screen z tym o co mi chodzi
[Obrazek: 1.png]

Dziękuję za pomoc
Odpowiedz
#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
#3
Wow myślałem że będzie to dużo prostsze, będę musiał się z tym jakoś zmierzyć Smile

Dziękuje za odpowiedź, przepraszam że tak późno ale nie miałem dostępu do kompa.
Odpowiedz
#4
A nie sorki, mój błąd. Powyższy sposób działa z losowymi zdjęciami. Pewnie da się go przerobić na najnowsze.
Poszukaj jeszcze w necie, bo pewnie są łatwiejsze sposoby. Ja po prostu chciałem wtedy użyć tamtego plugina, bo jak dla mnie jest jednym z fajniejszych.
Odpowiedz
#5
Przyznam szczerze że szukałem ale nic nie mogłem znaleźć, nie potrafię chyba dobrze zapytać google, bo liczyłem że znajdę coś na anglojęzycznych stronach.
Odpowiedz
#6
Ok ominąłem to w inny sposób, bardziej zrozumiały dla mnie.

Zrobiłem wpisy o kategorii galeria i wyświetlam je w taki sposób:
Kod PHP:
<?php
        
/* posty z kategorii galeria */       
        
$category_id get_cat_ID('galeria');
        
$catquery = new WP_Query'cat=' .$category_id'&posts_per_page=4&order=DESC' );
        while(
$catquery->have_posts()) : $catquery->the_post();
        
?>

        <div>
            <a href="<?php the_permalink() ?>" rel="bookmark">
                <h4><?php the_title(); ?></h4>
            </a>           
        </div>

        <?php endwhile; ?>
Odpowiedz
#7
Działa Smile
Odpowiedz


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

Skocz do:


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