Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man använder Masonry för att lägga till ett Pinterest-stil inläggsgaller i WordPress

Detta är ett gästinlägg av Josh Pollock

Det Pinterest-liknande rutnätsvisningen av inlägg har varit en populär design för WordPress bloggindexsidor ett tag. Den är populär inte bara för att den efterliknar utseendet på den populära sociala medier-sajten, utan också för att den utnyttjar utrymmet på skärmen på bästa sätt. På ett WordPress bloggindex tillåter den varje inläggsförhandsgranskning att vara den storlek den naturligt behöver vara, utan att lämna extra utrymme.

I den här handledningen kommer jag att visa dig hur du använder det populära Masonry JavaScript-biblioteket för att skapa kaskadformade rutnätslayouter för ditt bloggindex, samt arkivsidor för ditt tema. Jag kommer att ta upp några problem som du behöver tänka på för mobiloptimering och hur du löser dem.

Skärmdump av Masonry Grid Layout i WordPress

Notera: Detta är en handledning på avancerad nivå för dem som känner sig bekväma med att redigera WordPress-teman och har tillräcklig HTML/CSS-kunskap.

Steg 1: Lägg till nödvändiga bibliotek i ditt tema

Uppdatering: WordPress 3.9 inkluderar nu den senaste versionen av Masonry.

Först måste du ladda Masonry i ditt tema, med den här koden:

if (! function_exists('slug_scripts_masonry') ) :
if ( ! is_admin() ) :
function slug_scripts_masonry() {
    wp_enqueue_script('masonry');
    wp_enqueue_style('masonry’, get_template_directory_uri().'/css/’);
}
add_action( 'wp_enqueue_scripts', 'slug_scripts_masonry' );
endif; //! is_admin()
endif; //! slug_scripts_masonry exists

Den här koden laddar helt enkelt masonry och gör den tillgänglig för ditt temas mallfiler (se vår guide om hur du korrekt lägger till JavaScript och stilar i WordPress). Notera också att vi inte lägger till jQuery som ett beroende för någon av dem. En av fördelarna med Masonry 3 är att den inte kräver jQuery, men kan användas med det. Erfarenhetsmässigt är det mer tillförlitligt att initiera Masonry utan jQuery, och det öppnar upp möjligheten att hoppa över laddningen av jQuery, vilket kan hjälpa både laddningstider för sidor och kompatibilitetsproblem.

Steg 2: Initiera Javascript

Den här nästa funktionen ställer in Masonry, definierar behållarna som kommer att användas med den och ser också till att allt sker i rätt ordning. Masonry behöver beräkna storleken på vart och ett av objekten på sidan för att dynamiskt kunna lägga ut sitt rutnät. Ett problem jag har stött på med Masonry i många webbläsare är att Masonry felaktigt beräknar höjden på objekt med långsamt laddande bilder, vilket leder till överlappande objekt. Lösningen är att använda imagesLoaded för att förhindra att Masonry beräknar layouten förrän alla bilder har laddats. Detta säkerställer korrekt storlek.

Detta är funktionen och åtgärden som kommer att mata ut initialiseringsskriptet i sidans sidfot:

if ( ! function_exists( 'slug_masonry_init' )) :
function slug_masonry_init() { ?>
<script>
    //set the container that Masonry will be inside of in a var
    var container = document.querySelector('#masonry-loop');
    //create empty var msnry
    var msnry;
    // initialize Masonry after all images have loaded
    imagesLoaded( container, function() {
        msnry = new Masonry( container, {
            itemSelector: '.masonry-entry'
        });
    });
</script>
<?php }
//add to wp_footer
add_action( 'wp_footer', 'slug_masonry_init' );
endif; // ! slug_masonry_init exists

Funktionen förklaras steg för steg med kommentarer i koden. Javascript-funktionen talar om för Masonry att leta i en behållare med id:t "masonry-loop" efter objekt med klassen "masonry-entry" och att beräkna rutnätet först efter att bilderna har laddats. Vi ställer in den yttre behållaren med querySelector och den inre med itemSelector.

Steg 2: Skapa Masonry-loop

Istället för att lägga till HTML-markup för Masonry direkt i en mall skapar vi en separat mall-del för den. Skapa en ny fil som heter “content-masonry.php” och lägg till den i ditt tema. Detta gör att du kan lägga till Masonry-loopen i så många olika mallar som du vill.

I din nya fil lägger du till koden som visas nedan. Märkningen liknar vad du normalt skulle se för en innehållsförhandsgranskning. Du kan ändra den hur du vill, se bara till att det yttersta elementet har klassen “masonry-entry” som vi angav som itemSelector i förra steget.

<article class="masonry-entry" id="post-<?php the_ID(); ?>" <?php post_class(); ?> >
<?php if ( has_post_thumbnail() ) : ?>
    <div class="masonry-thumbnail">
        <a href="<?php the_permalink(' ') ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail('masonry-thumb'); ?></a>
    </div><!--.masonry-thumbnail-->
<?php endif; ?>
    <div class="masonry-details">
        <h5><a href="<?php the_permalink(' ') ?>" title="<?php the_title(); ?>"><span class="masonry-post-title"> <?php the_title(); ?></span></a></h5>
        <div class="masonry-post-excerpt">
            <?php the_excerpt(); ?>
        </div><!--.masonry-post-excerpt-->
    </div><!--/.masonry-entry-details -->  
</article><!--/.masonry-entry-->

Denna markup har klasser för var och en av dess delar så att du kan lägga till markup som matchar ditt tema. Jag gillar att lägga till en fin, lätt rundad kant till .masonry-entry. Ett annat trevligt alternativ är ingen kant för .masonry-entry, men att ge den en lätt skugga. Det ser särskilt bra ut när inläggets miniatyrbild sträcker sig hela vägen till behållarens kant, vilket kan uppnås genom att ge .masonry-thumbnail marginaler och utfyllnad på 0 i alla riktningar. Du vill lägga till alla dessa stilar i en fil som heter masonry.css i ditt temas css-katalog.

Steg 3: Lägg till Masonry-loop i mallar

Nu när vi har vår mall-del kan du använda den i vilken mall som helst i ditt tema du vill. Du kanske lägger till den i index.php, men inte i category.php om du inte vill att den ska användas för kategoribilder. Om du bara vill att den ska användas på ditt temas startsida, när den är inställd på att visa blogginlägg, skulle du använda den i home.php. Var du än väljer, allt du behöver göra är att linda in din loop i en behållare med id:t "masonry-loop" och lägga till mall-delen i loopen med get_template_part(). Se till att starta masonry-loop-behållaren före while (have_posts() ).

Till exempel, här är huvudloopen från twentythirteen:s index.php:

<?php if ( have_posts() ) : ?>

    <?php /* The loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <?php get_template_part( 'content', get_post_format() ); ?>
    <?php endwhile; ?>

    <?php twentythirteen_paging_nav(); ?>

<?php else : ?>
    <?php get_template_part( 'content', 'none' ); ?>
<?php endif; ?>

Och här är den modifierad för att använda vår Masonry-loop:

<?php if ( have_posts() ) : ?>
<div id="masonry-loop">
    <?php /* The loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <?php get_template_part( 'content', 'masonry' ?>
    <?php endwhile; ?>
</div><!--/#masonry-loop-->
    <?php twentythirteen_paging_nav(); ?>

<?php else : ?>
    <?php get_template_part( 'content', 'none' ); ?>
<?php endif; ?>

Steg 4: Ställ in responsiva bredder för Masonry-objekt

Det finns flera sätt att ställa in bredden på varje Masonry-objekt. Du kan ställa in bredden med ett antal pixlar när du initierar Masonry. Jag är inte ett fan av att göra det eftersom jag använder responsiva teman och det kräver några komplexa mediafrågor för att få saker rätt på små skärmar. För responsiva designer har jag funnit att det bästa är att ställa in ett breddvärde för .masonry-entry med en procentandel, baserat på hur många objekt du vill ha i en rad och låta Masonry göra resten av uträkningen åt dig.

Allt som krävs är att dividera 100 med antalet objekt du vill ställa in procentandelen för i en enkel post i ditt temas style.css. Till exempel, om du vill ha fyra objekt i varje rad kan du göra detta i din masonry.css-fil:

.masonry-entry{width:25%}

Steg 5: Mobiloptimering

Vi kan sluta här, men jag tror inte att slutresultatet fungerar otroligt bra på små telefonskärmar. När du är nöjd med hur ditt tema ser ut med det nya Masonry-rutnätet på din dator, kolla in det på din telefon. Om du inte är nöjd med hur det ser ut på din telefon, då behöver du göra lite arbete.

Jag tror inte att det finns tillräckligt med utrymme på en telefons skärm för allt vi lade till i vår content-masonry-mall. Två bra lösningar som finns tillgängliga för dig är att förkorta utdraget för telefoner eller hoppa över det helt. Här är en extra funktion du kan lägga till i ditt temas functions.php för att göra det. Eftersom jag inte tror att dessa problem är ett problem på surfplattor, använder jag ett bra plugin Mobble i alla exempel i det här avsnittet för att bara göra ändringarna på telefoner, inte surfplattor. Jag kontrollerar också om Mobble är aktivt innan jag använder det och om nödvändigt faller tillbaka på den mer generella mobiligenkänningsfunktionen wp_is_mobile som är inbyggd i WordPress.

if (! function_exists('slug_custom_excerpt_length') ) :
function slug_custom_excerpt_length( $length ) {
    //set the shorter length once
    $short = 10;
    //set long length once
    $long = 55;
    //if we can only set short excerpt for phones, else short for all mobile devices
    if (function_exists( 'is_phone') {
        if ( is_phone() ) {
            return $short;
        }
        else {
            return $long;
        }        
    }
    else {
        if ( wp_is_mobile() ) {
            return $short;
        }
        else {
            return $long;
        }
    }
}
add_filter( 'excerpt_length', 'slug_custom_excerpt_length', 999 );
endif; // ! slug_custom_excerpt_length exists

Som ni kan se börjar vi med att lagra längden på det långa utdraget och det korta utdraget i variabler, eftersom vi kommer att använda dessa värden två gånger och vi vill kunna ändra dem från en plats om vi behöver det senare. Därifrån testar vi om vi kan använda Mobbles is_phone(). Om så är fallet ställer vi in det korta utdraget för telefoner och det långa utdraget om vi inte är det. Efter det gör vi samma grundläggande sak, men med wp_is_mobile, som kommer att påverka alla mobila enheter, om is_phone() inte kan användas. Förhoppningsvis kommer else-delen av denna funktion aldrig att användas, men det är bra att ha en backup ifall. När logiken för utdragslängden är inställd handlar det bara om att koppla funktionen till filtret excerpt_length.

Att förkorta utdraget är ett alternativ, men vi kan också helt ta bort det med en enkel process. Här är en ny version av content-masonry, med hela utdragsdelen borttagen på telefoner:

<article class="masonry-entry" id="post-<?php the_ID(); ?>" <?php post_class(); ?> >
<?php if ( has_post_thumbnail() ) : ?>
    <div class="masonry-thumbnail">
        <a href="<?php the_permalink(' ') ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail('masonry-thumb'); ?></a>
    </div><!--.masonry-thumbnail-->
<?php endif; ?>
    <div class="masonry-details">
        <h5><a href="<?php the_permalink(' ') ?>" title="<?php the_title(); ?>"><span class="masonry-post-title"> <?php the_title(); ?></span></a></h5>
        <?php 
            //put the excerpt markup in variable so we don't have to repeat it multiple times.
            $excerpt = '<div class="masonry-post-excerpt">';
            $excerpt .= the_excerpt();
            $excerpt .= '</div><!--.masonry-post-excerpt-->';
//if we can only skip for phones, else skip for all mobile devices
            if (function_exists( 'is_phone') {
                if ( ! is_phone() ) {
                    echo $excerpt;
                }
            }
            else {
                if ( ! wp_is_mobile() ) {
                    echo $excerpt;
                }
            }
        ?>
    </div><!--/.masonry-entry-details -->  
</article><!--/.masonry-entry-->

Den här gången testar vi för att se om vi inte är på en telefon/mobil enhet och om så är fallet returnerar vi utdraget från vår loop. Om vi är på en telefon/mobil enhet gör vi ingenting.

En annan sak du kanske vill göra är att öka bredden på Masonry-objekten, vilket minskar antalet i en rad, på mobila enheter. För att göra detta kommer vi att lägga till en annan inline-stil till headern baserat på enhetsdetektering. Eftersom denna funktion använder wp_add_inline_styles kommer den att vara beroende av ett specifikt stylesheet. I det här fallet använder jag masonry.css, som du kanske vill ha för att hålla dina masonry-stilar separata. Om du inte använder det kan du använda handtaget från ett annat, redan registrerat stylesheet.

if ( ! function_exists ( 'slug_masonry_styles' ) ) :
function slug_masonry_styles() {
    //set the wide width
    $wide = '25%';
    //set narrow width
    $narrow = '50%';
    /**Determine value for $width**/
    //if we can only set narrow for phones, else narrow for all mobile devices
    if (function_exists( 'is_phone') {
        if ( is_phone() ) {
            $width = $narrow;
        }
        else {
            $width = $wide;
        }        
    }
    else {
        if ( wp_is_mobile() ) {
            $width = $narrow;
        }
        else {
            $width = $wide;
        }
    }
    /**Output CSS for .masonry-entry with proper width**/
    $custom_css = ".masonry-entry{width: {$width};}";
    //You must use the handle of an already enqueued stylesheet here.
    wp_add_inline_style( 'masonry', $custom_css );
}
add_action( 'wp_enqueue_scripts', 'slug_masonry_styles' );
endif; // ! slug_masonry_styles exists

Den här funktionen lägger till den anpassade stilmallen och ställer sedan in ett värde för bredden med vad som nu borde vara mycket bekant logik. Därefter skapar vi variabeln $custom_css genom att skicka värdet för bredden till en annars vanlig CSS-kod med {$width}. Därefter använder vi wp_add_inline_style för att tala om för WordPress att skriva ut våra inline-stilar i sidhuvudet när Masonry-stilmallen används och sedan kopplar vi hela funktionen till wp_enqueue_scripts och vi är klara.

Om du valde att kombinera dina Masonry-stilar till en befintlig stilmall, se till att använda handtaget för den stilmallen med wp_add_inline_style, annars kommer dina inline-stilar inte att inkluderas. Jag gillar att använda wp_add_inline_style eftersom jag generellt sett slår in åtgärdskroken för att köa Masonry i ett villkor så att den bara läggs till när det behövs. Till exempel, om jag bara använder Masonry på mitt bloggindex och arkivsidor skulle jag göra så här:

if ( is_home() || is_archive() ) {
    add_action( 'wp_enqueue_scripts', 'slug_scripts_masonry' );
}

Dessa sista exempel bör öppna upp några andra idéer i ditt sinne. Till exempel kan du använda liknande logik för att helt hoppa över Masonry på en mobil enhet. Även wp_add_inline_style() är en mindre använd, men mycket användbar funktion eftersom den låter dig programmatiskt ställa in olika stilar baserat på vilken typ av villkor som helst. Den kan låta dig radikalt ändra stilen på vilket element som helst baserat inte bara på enhetsdetektering, utan ändringarna kan också baseras på vilken mall som används, eller till och med om användaren är inloggad eller inte.

Jag hoppas att du ser dessa olika förändringar jag gör som en möjlighet att vara kreativ. Masonry och liknande kaskadgaller har varit populära ett tag nu, så det är dags för några nya vändningar på denna populära idé. Visa oss i kommentarerna vilka coola sätt du har kommit på för att använda Masonry i ett WordPress-tema.

En mångsidig WordPress-person, Josh Pollock skriver om WordPress, gör temautveckling, fungerar som community manager för Pods Framework och förespråkar open source-lösningar för hållbar design.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

38 CommentsLeave a Reply

  1. Hej, jag ville veta om det finns ett sätt att använda masonry-rutnätet för att visa registrerade användare. Några idéer?

  2. Ett snabbt meddelande om du får felet "imagesLoaded", prova att lägga till Javascript-koden efter wp_footer-anropet i din footer.php.

    Detta fungerar för mig:

    Lägg till i functions.php

    add_action( ‘wp_enqueue_scripts’, ‘slug_masonry’ );
    function slug_masonry( ) {
    wp_enqueue_script(‘masonry’); // notera att detta inte är jQuery
    }

    I din loop, se till att din div är:

    Och bildklassen är:

    och sedan efter wp_footer i din footer.php detta:

    //sätt behållaren som Masonry kommer att vara inuti i en var
    var container = document.querySelector(‘#masonry-loop’);
    //skapa tom var msnry
    var msnry;
    //initiera Masonry efter att alla bilder har laddats
    imagesLoaded( container, function() {
    msnry = new Masonry( container, {
    itemSelector: ‘.masonry-entry’
    });
    });

  3. Hej Andy, jag provade detta precis och fick det inte att fungera. Allt körs fortfarande vertikalt i en kolumn.
    Några lösningar?

  4. did not work for me. i see only two images on my front page which are arranged underneath. don’t know where is the problem :(

  5. Av någon anledning visas mina inlägg bara i rader som vanligt, inte i murverksform, jag är inte riktigt säker på hur detta kan hända. Några idéer?

  6. För alla som fortfarande har problem med detta, märkte jag att den här koden:

    // Sätt behållaren som Masonry kommer att vara inuti i en variabel

    var container = document.querySelector(‘#masonry-loop’);

    //skapa tom variabel msnry

    var msnry;

    // initiera Masonry efter att alla bilder har laddats

    imagesLoaded( container, function() {

    msnry = new Masonry( container, {

    itemSelector: ‘.masonry-entry’

    });

    });

    Var före masonry JS-biblioteket. Därför får du felet imagesLoaded. Som Andy föreslog nedan bör det lösa sig att lägga det i headern. I princip måste du bara se till att biblioteket kommer före den här koden.

  7. Tack igen för den här handledningen, den hjälpte mig verkligen att komma igång.

    Även med allt på plats, upplevde jag intermittenta problem där brickorna helt enkelt löpte ner längs vänster sida av sidan i en enda kolumn, och Firebug bekräftade att Masonry-koden ibland inte kördes. Detta hände bara ibland, och bara i Firefox.

    Det verkade som att under vissa laddningsscenarier fanns det problem med att koden försökte köras innan de nödvändiga filerna hade laddats. Jag tror inte att detta var ett problem med imagesLoaded, eftersom det har andra symptom.

    Jag löste problemet så här:

    Funktionen “slug_masonry_init” placerar masonry init-koden inline i footern. Jag tog bort hela den funktionen (liksom add_action ‘wp_footer’-koden) och flyttade JS till en extern fil: masonry-init.js

    2. Jag lindade in masonry-init-koden i jQuery för att dra nytta av dess document.ready-förmåga. Det är olyckligt att behöva inkludera jQuery eftersom detta är jQuery-fria versionen av Masonry, men document.ready verkade nödvändigt för att koden skulle köras i alla laddningsscenarier.

    (function( $ ) {
    “use strict”;
    $(function() {

    }); }(jQuery));

    3. Jag köade skripten så här:

    wp_enqueue_script( ‘masonry’ ); wp_enqueue_script( ‘jquery’ ); wp_enqueue_script( ‘masonryInit’, get_stylesheet_directory_uri().’/js/masonry-init.js’, array( ‘masonry’, ‘jquery’ ) );

  8. Gjorde exakt som handledningen säger, wp 3.9.1.. imagesLoaded laddas inte ens. Lite hjälp skulle uppskattas mycket

  9. Jag har problem med att få detta att fungera... följde saker därefter, baserat på _s, men mina kolumner bryts inte – får bara en lång. Har du några CSS-exempel att gå med? Jag missar uppenbarligen något. Skål!

  10. Jag är desperat förvirrad. Jag följde varje steg till punkt och pricka, och min webbplats blir bara tom. Ett problem med functions-filen. Min webbläsare ens antyder inte vilken rad som orsakar något fel, allt jag får är "
    Serverfel
    Webbplatsen stötte på ett fel vid hämtning av (url) Den kan vara nere för underhåll eller felkonfigurerad."

    Samma sak hände för WP Admin-inloggningssidan. Jag raderade functions.php i min temamapp, och inloggningsskärmen återställdes, men startsidan gjorde det inte. Om du kunde ge mig några ledtrådar om vad problemet kan vara, skulle jag vara mycket tacksam. Oavsett, tack så mycket för handledningen och de djupgående förklaringarna.

  11. Om detta hjälper andra att få exemplet att fungera:

    Det fungerade inte för mig även efter att jag gjorde fixen som andra har noterat – att ändra "function slug_masonry_exists()" till "function slug_masonry_init()". Biblioteken laddades, men Masonry gjorde inte sitt jobb.

    Sedan ändrade jag wp_enqueue_script-anropen så att Masonry och imagesLoaded laddades i sidhuvudet istället för längst ner.

    Plötsligt fungerade allt.

    • Hej, jag kan inte lista ut hur man ändrar wp_enqueue_script. Jag skulle verkligen uppskatta om du kunde förklara det i detalj. Tack!

  12. Hej, det fungerar inte för mig. Jag får det här felmeddelandet:
    "Parse error: syntax error, unexpected T_ENDIF in..."...functions.php på rad 17

    Det betyder ett fel i skriptet från det tredje steget. Vad missade jag?

  13. Kommer du att uppdatera ditt inlägg med tanke på att Masonry3 nu finns i WordPress core med 3.9?

  14. Initialiseringsskriptet anropas fortfarande innan imagesloaded har definierats, så jag får

    Uncaught ReferenceError: imagesLoaded är inte definierat

    Hur kan jag se till att imagesLoaded finns där först innan jag börjar initialisera saker?

    • imagesLoaded anropas innan köandet har etablerats. Ge det låg prioritet så att det anropas sist, som:

      add_action( ‘wp_footer’, ‘slug_masonry_init’, 100000 );

      Detta fungerade för mig.

      Notera: Jag tror att den här artikeln behöver uppdateras. Inte bara på grund av det här problemet.

  15. Tack för det här inlägget. Jag försöker sätta upp en bloggsida med Masonry-inlägg, men jag har fastnat vid steg 1. När jag lägger till funktionerna för att lägga till de två biblioteken i min funktionsfil blir min webbplats helt tom. Eftersom jag utvecklar i en underkatalog försökte jag göra sökvägarna till js-filerna absoluta snarare än relativa, men det hjälpte inte. Någon idé om vad jag missar?

  16. Hej,

    Jag får det här felet: "ReferenceError: imagesLoaded is not defined" snälla hjälp.

  17. Tack. Det är ett bra inlägg och det fungerar för mig. Jag gör en mall med den här koden och den fungerar perfekt. Men två hinder jag står inför
    1. Jag vill begränsa mina inlägg på min indexsida så att den visar de första 6 till 7 inläggen och nedanför kommer en knapp med funktionen "Ladda mer" som när den klickas laddar de andra inläggen.

    2. Jag försöker integrera Paul Irishs oändliga scroll-javascript men jag kunde inte få det att fungera. Någon hjälp??

    Tack

  18. Tja, jag följde alla dina steg och jag kör på ett fatalt fel ” PHP Fatal error: Call to undefined function wp_enquqe_style() ” och jag förstår fortfarande inte varför wp_enquqe_style() jag förstår inte varför kan du kolla det.

    • Hej

      Jag skulle kommentera för att påpeka att det är ett stavfel och borde vara:

      wp_enqueue_style

  19. Hej!

    Det här inlägget är en bra början men jag hittade några misstag...

    1/ Du bör använda the_title_attribute() för attributet title istället för title
    2/ add_action( ‘wp_footer’, ‘slug_masonry_exists’ ); är den korrekta koden och inte add_action( ‘wp_footer’, ‘slug_masonry_init’ );

    Skål!

  20. Kan inte få detta att fungera med en oändlig scroll-inställning i min $ajax success CB. All rådgivning vore bra.

  21. Jag letade efter den här effekten, men jag visste inte vad den kallades eller hur jag skulle söka efter den, förrän nu. Jag kommer definitivt att prova den i ett av mina framtida projekt med fotoblogg. Tack!

  22. Great post – wish it was around when I started working with Masonry on a theme a few weeks ago :D

    A couple variations – I created a new post-thumbnail image size to pull in so that both horizontal and vertical images would have equal attention within the Masonry pages – it’s fairly easy to change out the actual image for a new one (I did that at first, creating a new “entry-thumbnail” size and allowing unlimited length so that horizontal images would display properly). Then I just edited the post-thumbnail ;-)

    Jag omslöt också post-thumbnail inom en -tagg så att jag kunde låta den återgå till inläggets permalänk (jag ändrade det till att återgå till mediakilänkens länk så att jag kunde implementera en lightbox-effekt – enligt en kunds begäran) så att besökare kunde gå direkt till inlägget.

    I also added a hover effect to the post-thumbnail to indicate it was clickable :D

    Nu behöver jag gå igenom vad jag har gjort och jämföra det med ditt och se vad jag kan förbättra med din kunskap (älskar WordPress-communityt!)

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.