scriptygoddess

30 Oct, 2009

Multiple Featured Content Galleries

Posted by: Jennifer In: WordPress|WordPress Hacks|WordPress Plugins

On a site I was working on recently, the client was using the Featured Content Galleries plugin for their homepage (you can download it from here) – but they wanted to add a gallery like this to other pages on their website and have other featured content on those pages. This is not a feature currently supported "out of the box" with this plugin. But hacking it in is pretty easy.

First – you will need to create a category that you will use for the other Featured Content Galleries – one per page you want to use it with. Assign posts you want to appear in the featured content gallery with this new category. For example – lets say on your homepage you're running the featured content gallery, and it's showing posts from the "featured-posts" category. But lets say you have a "products" page and on that page, you only want articles related to your products showing up on that page. So you would need to create another category – lets call it "featured-posts-about-products". Then assign this new category to your articles about products. (**Make a note of what the category ID is of this new category!)

You will still need to make sure those posts have a custom field with a key of "articleimg" and a value that is the full URL to the image you want in the featured content gallery.

Now we can start hacking at the plugin…

Open up gallery.php (found in the featured-content-gallery plugin directory). MAKE A BACKUP OF GALLERY.PHP JUST IN CASE! :) Then, look for this line:

query_posts('category_name=' . get_option('gallery-category') . '&showposts=' . get_option('gallery-items'));

and replace with the following:

$categoryToUse = 'category_name=' . get_option('gallery-category');
if (isset($catidforgallery) && is_numeric($catidforgallery)) {
$categoryToUse = 'cat=' . $catidforgallery;
}
query_posts($categoryToUse . '&showposts=' . get_option('gallery-items'));

NOW in your theme – where you have the featured content gallery appearing – if you want it to pull from that special category, you can do this:

<?php 
$catidforgallery = 1234;
include (ABSPATH . '/wp-content/plugins/featured-content-gallery/gallery.php'); 
?>

The above code assumes our category ID is "1234".

But lets say you're using this template for a number of different pages, and on each one you want a different content gallery… Again, set up these new categories, make notes of what their IDs are – then on each page that's using this template, to specify what category ID the featured content gallery should use, add a custom field with a key of "category-feature-rotator" and a value of the category ID you want in the gallery.

Modify the theme/template code to this instead:

<?php
$category_feature_rotator = get_post_meta($post->ID, "category-feature-rotator", true);
$catidforgallery = false;
if (isset($category_feature_rotator) && $category_feature_rotator != 0) { 
$catidforgallery = $category_feature_rotator;
}
include (ABSPATH . '/wp-content/plugins/featured-content-gallery/gallery.php');
?>

That will look for the custom field and use the category ID you put in for that custom field – and if it's not there – then it will just default to the category specified on the Featured Content Gallery options page.

IMPORTANT NOTE: If/when there is an update to the Feature Content Gallery plugin – upgrading will overwrite these changes. This post was written for version 3.2.0 of the plugin. Hopefully they'll build this feature in a next release of the plugin. 😀

UPDATE 11/16/09 Greg had asked in the comments about being able to do a similar technique with multiple featured content galleries, but being able to specify page IDs. He was able to solve the problem before I could and sent me the solution. :)

To use Page IDs in the gallery: On the page you want to have the gallery displayed on, create a custom field with a key of "pageids" – and for the value, give a comma seperated list of page ids.

Where I had been pulling the "category-feature-rotator" custom field – replace that with the following:

$pageids = get_post_meta($post->ID, "pageids", true);

Then look for the following line in gallery.php (should be around 24)

$arr = split(",",get_option('gallery-items-pages'));

and change it to this:

$arr = split(",",($pageids));

*Note: I haven't personally tested the Page ID method – so if you try it – please report back how it goes…

12 Responses to "Multiple Featured Content Galleries"

1 | Girl Genius

November 6th, 2009 at 12:51 am

Avatar

Great walkthrough! Very useful.

My only question comes when you're talking about the category feature rotator and adding the category id to the value field. I'm about to try it, and I'll figure it out by process of elimination, but am I supposed to put just category ID number and nothing else?

Again, great tutorial! High five!

2 | Girl Genius

November 6th, 2009 at 12:53 am

Avatar

Ok my comment got screwed up somehow lol.

Am I supposed to put only the number of the Category ID?

3 | Girl Genius

November 6th, 2009 at 1:52 am

Avatar

Worked like a charm! Just the number of the category is all that's needed in the value field.

Nice job and thanks so much!

4 | Greg

November 12th, 2009 at 8:26 pm

Avatar

Great post! How would we do this for pages instead of categories?

Is it possible to create a custom field and pass in a variable number of pages?

5 | Jennifer

November 12th, 2009 at 8:29 pm

Avatar

I could be wrong – but the featured gallery plugin makes use of a posts category to know what group of posts to pull in. Since pages don't get categories – it wouldn't work the same way. The plugin would need a complete re-rewrite in order to pull in a series of pages…

6 | Greg

November 13th, 2009 at 7:28 am

Avatar

Thanks for the quick response. I'm not even into my second day with FCG, but the current version does allow for page IDs or a category ID, it's the first item to configure and the page ID's are just passed in like this: 16,23,46

The way we're using WordPress for our site, we can't easily use posts for this.

7 | Jennifer

November 13th, 2009 at 7:48 am

Avatar

Ah! Got it. If I can figure it out – I will let you know… (but can't guarantee I'll have the time) :)

8 | sm

January 14th, 2010 at 3:06 am

Avatar

Gr8 Post!! Just what i was looking for… Though, somehow its driving me crazy :) maybe someone can help.

i followed all the steps above to get the galery into all my categories, astronomy, science, etc.. so i want to show just featured posts out of those categories. but somehow it displays still every featured post in every galery.

on the FCG options page i selected "use posts.." and "randomize.." and under post ids i got like 15 featured posts.

every single one of those posts has this custom field with id.

what is wrong here?

What settings do i ned in the FCG optionspage to make this working?

thanks for any help!

http://www.streaming-madness.net if you want to look at it…

9 | Robert Adrian Dizon

September 14th, 2010 at 6:37 pm

Avatar

Does this still work?

10 | Jennifer

September 14th, 2010 at 6:43 pm

Avatar

It should. The site I originally set this up for, it's still working, and they're now running the latest version of WordPress. (3.0.1 as of this moment)

11 | Robert Adrian Dizon

September 29th, 2010 at 2:53 am

Avatar

Thanks ma'am, it still DOES work (3.0.1). :)

My next step though is multiple FCGs in one page. Googling seems to show that this is not possible at the moment.

12 | Victoria

October 11th, 2010 at 6:14 am

Avatar

Thank you for this!
It's not quite what I was looking for, I want it to pull all my images from a post (for the single.php page), but this is definitely helpful, maybe I can figure it out.. *crosses fingers* 😀

Featured Sponsors

Genesis Framework for WordPress

Advertise Here


  • Scott: Just moved changed the site URL as WP's installed in a subfolder. Cookie clearance worked for me. Thanks!
  • Stephen Lareau: Hi great blog thanks. Just thought I would add that it helps to put target = like this:1-800-555-1212 and
  • Cord Blomquist: Jennifer, you may want to check out tp2wp.com, a new service my company just launched that converts TypePad and Movable Type export files into WordPre

About


Advertisements