Create a Website for Your Presentation Slides with the Reveal.js Theme for WordPress


Many speakers use the Reveal.js HTML presentation framework to display slides due to its simplicity and compatibility with mobile devices. It was created by Swedesh developer Hakim El Hattab, who also hosts a fully-featured visual editor for authoring slides if you don’t know how to write HTML.

WordPress users who want to create and host their own slides now have the option to use the Reveal.js theme for WordPress. It installs just like any other theme and requires the addition of the Fieldmanager plugin. The theme takes over the entire website so it should only be used on a site dedicated to displaying presentation slides.

Once installed, you can customize your presentation in Appearance → reveal.js Settings. Here you can select from any of the standard Reveal.js presentation themes and adjust everything from transition styles and speeds to base width and margins. Further customizations can be added via a standard child theme.

Reveal.js for WordPress has support for all of Reveal.js’s fancy transition styles, background transitions and everything else, with the exception of Markdown support. The theme adds a new custom post type for creating Slides, although I believe this would be better accomplished via a plugin.


Creating slides is fast, easy, and requires no knowledge of HTML. It’s essentially just like writing a regular WordPress post.


The theme comes with roughly a dozen actions and filters for manipulating the output, display, dependencies and more.

Conclusion: Reveal.js for WordPress Would be Better as a Plugin

The Reveal.js theme is an interesting concept and I appreciate the fact that you can create slides in the admin. However, data portability is a concern here and I’d prefer to see it as a plugin. If you happen to change themes, the interface for managing slide content is lost.

Additionally, the theme takes over the entire website. It’s not often that you want to create a website for the sole purpose of hosting your slides, especially if you speak frequently and have dozens of presentations. In this instance it would be easier to create your slides elsewhere and upload them to your website outside of WordPress.

I’d like to see the slide creation functionality pulled out of the theme and ported to its own plugin. The Reveal.js theme could be conditionally loaded for the post/page where the slides are assigned to display. In this scenario, you’d be able to add it to your existing WordPress site while keeping your active theme.

The Reveal.js theme makes it incredibly easy to power your presentation with WordPress, but you should be aware that you’ll be locked into using it and your slides will not be easily transferable. Placing the slide creation in a plugin outside of the theme itself would make it much more versatile. It would also be highly convenient to be able to import an existing Reveal.js presentation.

The Reveal.js theme for WordPress was created by the folks at Alley Interactive, is GPL-licensend, and available on GitHub.

Would you like to write for WP Tavern? We are always accepting guest posts from the community and are looking for new contributors. Get in touch with us and let's discuss your ideas.


  1. While I appreciate Hakim making this, your conclusion is a no brainer. What was he thinking making this into a theme instead of a plugin? Bizarre.


  2. I dunno. I like it as a theme. If you use multisite, this sort of organization is super handy.


    1. Yeah it has some use cases where it works okay as a theme but I think a plugin would be ideal because the theme would be simpler to update, troubleshoot, etc. Creating it as a plugin would make it useful in many more scenarios.


  3. Other plugin and theme presentation options include:

    Jetpack Presentation Shortcode

    3D Presentation

    HTML5 Slideshow Presentations

    Post Presentations

    Slides Theme

    You can see a demo of the Jetpack Presentation Shortcode, including underlying code, at


      1. It can be a little hard to see, but in the bottom left corner of a presentation using the jetpack shortcode, there’s a full screen icon (arrows at the corners pointing outward). Select it and the presentation goes full screen.


    1. Yes, but the idea here is that you can host your own slides, instead of hosting your content on :)


      1. Yes, and you can do that if you use reveal.js alone like in the demo on the article. But it’s fairly advanced to host a reveal.js slideshow standalone.


  4. I agree it would be better as a plugin and would love to see it as one. Hopefully a developer takes on the challenge!


  5. Sarah

    There’s also WPMotion. Its a very powerful Reveal JS theme that’s endlessly customisable – in fact every single parameter is configurable via its extensive options. It also supports posts, pages and attachments as slides (in addition to slides), and works with all standard wordpress functionality (search, tags, archives etc) – all then rendered in 3D.

    The themes site is
    Taxonomy / Search example:
    The extensive documentation is:

    I was going to release as a premium theme but now need to strip out some ACF functionality so can release as a freemium version. Plugin too.

    Would love to know your thoughts etc! Or anyone elses!!!



Comments are closed.