Responsify WP

0

Responsify WP is the WordPress plugin that cares about responsive images. Features Use img with srcset/sizes attributes. …or the picture element. Works with or without Picturefill. S

Version
Last updated
Active installations
WordPress Version
Tested up to
Rating
Total ratings
Tags
This plugin is outdated and might not be supported anymore.

Description

Responsify WP is the WordPress plugin that cares about responsive images.

Features

  • Use img with srcset/sizes attributes.
  • …or the picture element.
  • Works with or without Picturefill.
  • Supports high resolution images (retina).
  • Custom media queries.
  • Handpick which image sizes to use.
  • Responsive background images.

Demo

Responsify WP finds featured images and all images inside the content and makes them responsive.
For example, you might have a template that looks like this:

<article>
    <h1><?php the_title();?></h1>
    <?php the_content();?>
</article>

That will output something like this:

<article>
    <h1>Hello world</h1>
    <p>Lorem ipsum dolor sit amet...</p>
    <img src="large.jpg" alt="Image description">
</article>

But once you have activated the plugin, it will look like this instead:

<article>
    <h1>Hello world</h1>
    <p>Lorem ipsum dolor sit amet...</p>
    <img sizes="(min-width: 300px) 1024px, (min-width: 150x) 300px, 150px"
        srcset="thumbnail.jpg 150w,
        medium.jpg 300w,
        large.jpg 1024w"
        alt="Image description">
</article>

You can also choose to use the picture element instead:

<article>
    <h1>Hello world</h1>
    <p>Lorem ipsum dolor sit amet...</p>
    <picture>
        <source srcset="full-size.jpg" media="(min-width: 1024px)">
        <source srcset="large.jpg" media="(min-width: 300px)">
        <source srcset="medium.jpg" media="(min-width: 150px)">
        <img srcset="thumbnail.jpg" alt="Image description">
    </picture>
</article>

It also works with high resolution (retina) images:

<article>
    <h1>Hello world</h1>
    <p>Lorem ipsum dolor sit amet...</p>
    <picture>
        <source srcset="full-size.jpg" media="(min-width: 1024px)">
        <source srcset="large.jpg, large_retina.jpg 2x" media="(min-width: 300px)">
        <source srcset="medium.jpg, medium_retina.jpg 2x" media="(min-width: 150px)">
        <img srcset="thumbnail.jpg, thumbnail_retina.jpg 2x" alt="Image description">
    </picture>
</article>

The different versions of the image in the examples above is in the standard thumbnail, medium, large and full sizes.
The media queries are based on the width of the “previous” image.
Any custom sizes of the image will also be found and used.

Settings

You can select which image sizes that the plugin should use from the RWP settings page.
These settings can be overwritten from your templates.

<?php

// Using get_posts()
$posts = get_posts( array(
    'post_type' => 'portfolio',
    'rwp_settings' => array(
        'sizes' => array('large', 'full')
    )
) );
foreach( $posts as $post ) {
    // ...
}

// Using WP_Query()
$query = new WP_Query( array(
    'category_name' => 'wordpress',
    'rwp_settings' => array(
        'sizes' => array('large', 'full')
    )
) );
if ( $query->have_posts() ) {
    // ...
}
?>

Available settings:

  • Select which image sizes to use.
  • Set/override attributes.
  • Set custom media queries.
  • Turn on/off retina.
  • Ignore image formats.

Functions

RWP provides a number of functions that can generate responsive images in your templates.
Let’s say that you have the following markup for a very large header image:

<header>
    <?php the_post_thumbnail( 'full' ); ?>
</header>

As you probably know, the_post_thumbnail() will create a regular <img> tag with the full-size image in this case.
But you don’t want to send a big 1440px image to a mobile device. This can easily be solved like this:

<header>
    <?php
    $thumbnail_id = get_post_thumbnail_id( $post->ID );

    // Generate an <img> tag with srcset/sizes attributes.
    echo rwp_img( $thumbnail_id );

    // Generate a <picture> element
    echo rwp_picture( $thumbnail_id );
    ?>
</header>

Website

http://responsifywp.com.

Demo

http://responsifywp.com/demo.

Documentation and examples

https://github.com/stefanledin/responsify-wp.

Requirements

  • PHP 5.3