How To: Create a Digg style Social Voting site with WordPress
I have been wanting to add a social voting aspect to one of my existing websites for a while now, there are a few existing solutions such as Pligg (standalone CMS) and Drigg (add-on for Drupal) but I wanted to see if WordPress could be used to handle this. It was during this search that I found Nominate, a theme from Pro Theme Design. In their words …
A social voting site for WordPress. This add-on for Elemental allows your site visitors to create accounts, submit articles, and vote on them to create your own personal version of Digg, using your favorite cms.
Nominate is a Child theme for the “Elemental” theme framework, so when you purchase Nominate you receive Elemental with it for free so you’re actually getting 2 themes for the price of one.
- Purchase Nominate for $79.99
- Use Coupon Code “SAVE10” for 10% Off
Pro Theme design use a copy of the theme to power their own WordPress voting site, the design uses some custom CSS but all the features are from the Nominate theme with no mods, take a look to see a demo of what’s possible :
In this post I will guide you through setting up Nominate so you can build your own Digg clone with WordPress.
For this guide, I have registered the domain WPHOP.com, this is where you can view a demo of the theme out of the box with no modifications. Try signing up for an account and submitting some content to get a feel for how it works.
Installing the Theme
Once you have purchased the theme, login to your account at Pro Theme Design and download Elemental Theme and the Nominate zip files. In your WordPress admin screen, click “Appearance” > “Themes” > “Install Themes” > “Upload” you will now be presented with an upload box, use this to upload the both the zips.
Once the themes are uploaded, click “Activate” under the Nominate theme. You only need to activate this one and it will use Elemental as its framework.
Before we start configuring the theme, you will need to set some WordPress settings:
- Permalinks: Go to ““Settings” > “Permalinks” and tick “Custom Structure” and enter this in the box : /%postname%”
- Categories: Go to “Posts” > “Categories” and add as many categories as required by your site (make sure to add one called “Blog”)
- Registration: Go to “Settings” > “General” and tick the box “Anyone Can Register”
Configuring the Theme
After the theme is activated, you will notice a new menu option in your WordPress admin side bar, called “Nominate”. It contains 2 items, “Options” and “Extras”. Select the “Options” link and we can begin configuring the site.
The first tab under “Options” is called “Nominate Settings”, this is the main options part, this is what the options mean :
- Blog Category: Select the category called “Blog” we created before, this for the separate blog part of your theme so when writing posts, always put them in this category.
- Allow Article Submission: Tick this to allow registered users to submit links
- Article Submission Agreement: Box ticked by the user to say they agree with your terms and conditions / site rules
- Accept URLs: Enable or Disable url submissions, leave this ticked.
- Enable Categories: Tick this box to allow people to choose which category their submission goes into.
- Enable Tags: Tick this box, allows people to enter tags with their post. You could install an Auto Tag plugin as well incase people dont include tags with their submission.
- Enable Image Uploads: I chose to leave this unticked, the theme creates thumbnail screenshots by default.
- Featured Vote Quantity: This is the number of votes needed to make a submission show on the homepage. Submissions are under “Incoming Posts” till this number is reached.
- Email on Post Submission: Leave this blank, unless you want to receive an email every time a post is submitted.
- Email Sending: Chose what actions to send an email on
- Website Thumbnails Display: Choose here whether to display screenshot thumbnails with posts
- Homepage Intro Title: Enter a title here for your site if required
- Homepage Intro Text: Enter a welcome message or smiliar here if required.
- Homepage Tabs: Choose which tabs are shown at the top of your homepage
- Required Article Length: Choose a minimum amount of required characters for submissions.
The next tab is “Spam Settings”, the top dropdown I left the post moderation to default. The next sections are for blocking specific spam words and websites, you can leave these blank for now but keep an eye on your site, because it is based on user-submissions I think most sites will start to receive spam eventually. That is where this section comes in – you can add to it as you see spam coming in.
The Nominate theme has some handy advertising options built in, you can add your adsense publisher ID. It also has space for you to enter ad codes for 468×60 banners and 728×90 banners. You can tick the boxes to activate these and paste in your affiliate banner codes etc.
Basic Blog Settings
The next tab is “Basic Blog Settings” you can choose the size of your blog’s content columns at the top, there are 5 options to choose from. Then there is more basic options for you to fill in :
- Google Analytics Code
- Google Webmaster Tools ID
- Copyright Year
- Twitter @Anywhere API Key
- Options to hide footer widgets & footer credits
The final option is “Site Style” – here you can choose what color theme you’d like to use, here’s what they look like :
Basic Dark Orange
The next tab down is “Navigation Settings”, here you can choose various options on how to display your site’s navigation. The theme has two menu bars at the top and you can choose which one to display your categories in and which one to display your pages in. The other options are if you wish to hide any specific categories or pages from appearing in the navigation bars.
This is where you can make some customisations to your theme’s header area. You can upload a header image which can contain your logo, and set the hight for the header area. If you dont want to use an image, you can tick the box to use text for your site name and also choose whether to include a tagline.
Search Engine Optimization
- Display Site Name on: You can choose homepage or all pages
- Display Breadcrumbs: I would select all pages here.
- Optmize site urls on post publish: This option removes short words from the URLS.
Under this tab, you can choose from a list of fonts which one you would like for headings and which for the site’s primary font. I have left my with the defaults, Georgia for headings and arial for the body text. Have a play around and see which you’d like to fit your theme.
There are two options under this tab, you can choose to display the comment date and time or “time since”. The other option is whether to display an “Allowed HTML” under the comment area.
Some settings here for the archive pages, Do you want to display the child categories on the first page of each categories archives? and
Do you want to display the child categories on the first page of each categories archives?
Contact Page Settings
Enter your email address in here and a message subject, this is for when people mail you from the site.
Because site members can login to the WordPress admin to modify their profile settings etc, this section allows you to make some customizations to it by adding a header image, a default gravatar for new members and some admin footer text.
With the Nominate theme are some extra widgets you can use in the theme.
- Incoming Posts: This widget displays the latest posts to be submitted to the site, ordered by date, irrespective of the amount of votes they get. It’s worth using this widget to make sure that new submissions get promoted to people.
- Submit Article Button: does exactly what the title says. Adds a button to your sidebar that allows people to submit new articles. If the user is not logged in then it will prompt them to login/ signup. The text on the button can be customised.
Nominate is a solid theme if you are wanting to create a social voting site, there is proof it works in the form of their WPVote website. The admin area is well laid out with all the main options needed to prevent you having to delve into html code so it’s ideal for someone who is not familiar with this.
An area of concern for me with these types of sites is the spam problem, I would have to run some tests on a live site to see if the built-in spam controls from Nominate are enough to prevent it. There is a built-in Captcha on the article submit form, a better solution I would like to see is having reCaptcha built in on account signup and article submission – maybe a feature for a future update?
The theme styles that ship with Nominate are nice and clean enough, with the font and customisation options you should be able to make your site a bit more unique. Some site color options would be nice, otherwise you can change these by writing some custom CSS like they have done on the WPVote site.
In summary, Nominate is a good solid theme that includes the major functionality you need for a social voting site, it prevents you having to search around for various plugins to replicate this functionality, packages it in a solid design with good options panel for a reasonable price.
- Purchase Nominate for $79.99
- Use Coupon Code “SAVE10” for 10% Off