Contact Us

WebSenor Pvt Ltd Bengaluru

Site No. 26 Laskar, Hosur Rd, Bengaluru, Karnataka 560029
Phone +91-8854834560

WebSenor Pvt Ltd Udaipur

3rd Floor , S.M. Lodha Complex,
Udaipur (Rajasthan)India

Phone: +91-9950834560
Phone+91-9782177208 
Emailinfo@websenor.com

USA – WebSenor LLC

25-03 83rd St, East Elmhurst, NY 11370, United States
Phone: +1-480-561-4112
Emailinfo@websenor.com

UK – WebSenor Ltd

184 Caroline St, Birmingham B3 1UE, UK
Phone+44 20 3286 4560
Emailinfo@websenor.com

WestoWeb Inc

Block 10, Salmiya, Kuwait
Phone+965-97487871
Emailinfo@websenor.com

Skype: WebSenor Infotech

Career

For Career / HR related queries : +91 85297 34560
For Recruitment related queries : +91 83068 92560

WebSenor is a high end tech company headquartered in AZ, USA and its development centers are in Udaipur & Bangalore, India. We provide web development, software development, mobile application development & digital marketing services to the global market.
With 10+ years of experience, 3000+ projects of portfolio and 110+ professionals, WebSenor is one of the leading name in IT market.

Connect with us

How to build a WordPress image slider

How to build a WordPress image slider

Our last article about the Meteor slides plugin was about how to use the plugin for your WordPress website and doesn’t require any programming skills. My article today is about building a WordPress image slider from the ground up without using a plugin. Actually this is not totally true, because the tutorial is “only” about the WordPress part and we will be using a readymade slideshow plugin written in jQuery. I’m using the tutorial code for my own website as well, check the demo right below.

  • Simple slides code example

    Simple slides code

    Upload the Flexslider files and add the PHP code to theme’s functions.php file.

  • Add or edit a simple slide

    Add simple slide

    Add or edit title, text, image or target URL by using the standard WordPress interface.

  • Sinple slides posts list

    Simple slides list

    All slides are grouped by the slide location taxonomy (here: tutorial).

  • Previous
  • Next

WordPress image slider tutorial

Most image slider plugins are based on a third party slideshow plugin, written in jQuery or JavaScript. This is not surprising, because building a responsive and flexible slideshow is a different task than writing a few blocks of PHP code in WordPress. I’m going to show you how to use the same code most slider plugins use to integrate and control a slider function right in your WordPress blog post. I’m using Flexslider 2, a jQuery plugin maintained by WooThemes. WooThemes has built Flexslider 2 as the basis for their own premium WordPress themes and plugin. Reason enough to use their jQuery plugin for this WordPress tutorial.

Prepare your WordPress theme

All the tutorial code needs to be placed in your theme’s functions.php file, but before we can do that, we need to copy some files from the Flexslider jQuery plugin into the theme’s directory as well. Create a directory called flexslider in your themes directory. Download the Flexslider 2 plugin and upload the files flexslider.css and jquery.flexslider-min.js including the directories named fonts and images into the flexslider directory you just created.

The following two functions are used to include the necessary JavaScript and CSS code into your theme footer. I’m using a “special method” I’ve found on Scribu.net to include these files inside the footer to keep my theme files fast. Many plugin developers include JS/CSS files on every page, post or even archive pages. The function print_my_script() below will include the JS/CSS files only on those pages where the slider shortcode is actually used.

The first function registers the JavaScript file and the second function will output (print) all the other code, including the code for Flexslider 2, into the footer of your theme. Note the variable $add_my_scripts is used as a kind of filter. I will explain later how this filter works.

Custom post type and taxonomy

I created a custom post type for all the different sliders I will later create for my website. The custom taxonomy is used to bundle these slides (posts) into one or more slideshows.

For the custom post type I use the set public to false to keep the slider posts out of the results from any  search engine. I do the same for the custom taxonomy named slide-loc. For the post type, I have enabled only the fields I really need. That includes the custom field, which I use for the target URL behind each slide.

The following small function is responsible for creating a post meta value for each slide. This value is used as a default URL value for the custom field.

WordPress image slider shortcode

The last part of code is used to show your slideshow inside a post, page, theme or any other place where the usage of a shortcode is possible.

This shortcode accepts 3 attributes: a slider location, the animation type and the slideshow speed. These values are passed to the database query or the JavaScript snippet. Do you remember the variable $add_my_script I’ve mentioned before? This “global” variable is set right in the shortcode function and takes care about that all Flexslider files are only included on pages or posts where the slideshow shortcode is used! All HTML code for the slideshow is created by this function.

Using the slideshow shortcode and final words

This tutorial is not written for the WordPress beginner, but I’m also sure it’s not too complicated. Just insert a few slides via the new custom post type you have created. Add also a location (custom taxonomy) if needed. Now you can use the three attributes to configure your slideshow a bit, for example the shortcode would be:

This shortcode will show all slides with custom taxonomy “homepage” (the slug) and show them in animation mode “slide” (you can also use “fade”) and the speed is set to 5 seconds. The attributes are not required and if you like to have more options you can add them to the function with the name print_my_spript(). This page shows all available Flexslider 2 properties.

The tutorial code doesn’t have some special style for the slideshow. If you like to use the same style as I used for my demo, copy/paste this CSS code into your theme’s stylesheet.

Leave a Reply

Your email address will not be published. Required fields are marked *