Ask your WordPress questions! Pay money and get answers fast! Comodo Trusted Site Seal
Official PayPal Seal

How do I create an Aggregator in Wordpress? (mockup inside) WordPress

  • REFUNDED

I'd like to create an aggregator website for tutorials. Picture the homepage having 10 blog entries/excerpts on it but when you click the title to read more, it takes you to that tutorials URL on another website.

I'm not sure how I would create/structure this in Wordpress. It's a fairly simple publishing workflow and I was wondering if any of you could point me in the right direction using the mockup below:

http://i.imgur.com/opgzP.jpg

<strong>Publishing Workflow:</strong>

1. Publish new Tutorial
2. Enter the title, eg "ExpressionEngine Relationships and Related Entries"
3. Write a brief summary for the tutorial
4. Enter the Tutorial URL into custom field.
5. Choose an author from a drop-down list, if not there, create one.
6. Choose the source website from a drop-down list, if not there, create one.

• The title (which is linked to the tutorial URL) and summary text are displayed on the homepage.
• The Author field brings in the name, homepage and picture of the author.
• The website field brings in the source website name, favicon and URL.

This is fairly easy with ExpressionEngine's channel philosophy but unless there is a plugin for Wordpress, it looks like I'm going to be retyping a lot of the same data which might clog things up.

Any help would be greatly appreciated, I've always admired Wordpress for being free and open-source but at the same time dismissed it for being just a blogging platform.

Answers (5)

2011-01-11

Chris Lee answers:

David:

You could pull in RSS feeds using a plugin and style it accordingly.

Are anonymous/guest users publishing this new tutorial or a staff (who have administrative wordpress backed access)

Notwithstanding, I'll make the following assumptions and answer this accordingly:

- publishers of content have a user login

I think the best route would be to create a custom post type and add any additional custom fields.

and then query for posts via categories.

I looked over channels and it looks like categories is a similar equivalent to a channel feed.


davidlopan comments:

Hi Chris. Thank you for the reply.

The tutorials are hand-picked by myself for now + I have full access to the Wordpress install.

I'm a little unsure about custom post types and custom fields but am I right in thinking I could create a "Tutorials" post type and create the following fields:

• tutorial title
• tutorial author
• tutorial url
• source website
• source website's favicon

and then put the relevant code on my homepage, it should function okay?

2011-01-11

Ivaylo Draganov answers:

You could build that solely with custom fields but I think it's better to use a combination of custom fields and taxonomies.

I'll just walk through all the steps in the workflow:
1. Publish new Tutorial
You can use the default "Post" post type that comes with WP

2. Enter the title, eg "ExpressionEngine Relationships and Related Entries"
The simplest way would be to use the title field for the post

3. Write a brief summary for the tutorial
Could be done with a custom field, but it's better just using the built-in excerpts feature

4. Enter the Tutorial URL into custom field.
Custom fields come in to play here - you can enter it via the default interface if it's comfortable for you or you can build a custom meta box for that.

5. Choose an author from a drop-down list, if not there, create one.
I'd suggest creating a custom tag-like(non-hierarchical) taxonomy for this purpose. There won't be a dropdown menu, but there's an autocomplete feature which I think is good enough

6. Choose the source website from a drop-down list, if not there, create one.
Same as #5

You should use [[LINK href="http://codex.wordpress.org/Function_Reference/register_taxonomy"]]register_taxonomy[[/LINK]] function to create the new taxonomies.

Maybe something like this(this is a slight mod of the code found on the WP Codex page):

<?php
//hook into the init action and call create_custom_taxonomies when it fires
add_action( 'init', 'create_custom_taxonomies', 0 );

//create two taxonomies, author and source for the post type "post"
function create_custom_taxonomies()
{
// Add new taxonomy, NOT hierarchical (like tags)
$labels = array(
'name' => _x( 'Sources', 'taxonomy general name' ),
'singular_name' => _x( 'Source', 'taxonomy singular name' ),
'search_items' => __( 'Search Sources' ),
'all_items' => __( 'All Sources' ),
'parent_item' => __( 'Parent Source' ),
'parent_item_colon' => __( 'Parent Source:' ),
'edit_item' => __( 'Edit Source' ),
'update_item' => __( 'Update Source' ),
'add_new_item' => __( 'Add New Source' ),
'new_item_name' => __( 'New Source Name' ),
'menu_name' => __( 'Source' ),
);

register_taxonomy('source',array('post'), array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'source' ),
));

// Add new taxonomy, NOT hierarchical (like tags)
$labels = array(
'name' => _x( 'Authors', 'taxonomy general name' ),
'singular_name' => _x( 'Author', 'taxonomy singular name' ),
'search_items' => __( 'Search Authors' ),
'popular_items' => __( 'Popular Authors' ),
'all_items' => __( 'All Authors' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Author' ),
'update_item' => __( 'Update Author' ),
'add_new_item' => __( 'Add New Author' ),
'new_item_name' => __( 'New Author Name' ),
'separate_items_with_commas' => __( 'Separate Authors with commas' ),
'add_or_remove_items' => __( 'Add or remove Authors' ),
'choose_from_most_used' => __( 'Choose from the most used Authors' ),
'menu_name' => __( 'Authors' ),
);

register_taxonomy('author','post',array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'author' ),
));
}
?>


I hope that I was able to help =)

2011-01-11

Denzel Chia answers:

Hi,

The issue here is how you want to aggregate the posts from other sites.

If you want to type and create it manually on WordPress.
Put up a job posting here to hire someone to create the theme according to your mock up.

If you want to auto aggregate the posts from other sites, irregardless of whether the publishing platform is WordPress or Not.
You need to hire someone to create you a plugin to auto aggregate the rss feeds produce by other sites.

If you want any information other than a normal RSS feed can produce, you will need to have a REST API on the tutorial sites that you want to aggregate the posts. Your WordPress site will have a plugin to query the REST API of these tutorial sites and parse the response onto your WordPress Blog.

You will need to own all those tutorial sites, if you want a REST API.
If not, you can only have a plugin to parse RSS feeds from these tutorial sites.

I think you should stick to manually creating the posts yourself, and you should hire a developer to code your mockup into a WordPress Theme.

Thanks.

2011-01-12

Richard answers:

Hi there - Whilst it may give you 95% of what you're after as opposed to 100%, if you were confident of the third party sites to which you want to link, then you could take their RSS feeds (with their permission I suggest) and use the excellent FeedWordPress plugin (http://feedwordpress.radgeek.com/) to automatically populate your site with the feed content from those feeds. The plugin checks the source feeds at designated intervals for updates and converts each new feed item into a post on your site. It allows you to predesignate their categories and/or build new ones on the fly by reference to the categories in the source feeds.

You can also decide whether to have the feed items parsed and published on your site immediately. You could set it up in such a way that only headlines and an excerpt, for example, are shown on your site. There are settings to make the permalink direct to the source site as opposed to a permalink/page on your own site too.

Finally, there's an Add-On (the Add Attribution Add-On) for the plugin (see the Add-Ons here: http://feedwordpress.radgeek.com/wiki/add-ons-and-filters) that allows you to add a suffix to the source feeds so as to designate their sources. This is helpful to avoid any perception that the feed items eminate originally from your own site.

I've built a site using precisely this set up. It worked really well.

All the best
Richard

2011-01-12

Shreedhar ananth answers:

The best way to aggregate feeds from multiple sites is to
1. Go to rssmix.com
2. Add rss feeds in the text box and combine the feeds to one feed by clicking on create button.
3. use the rss feed generated with any of the wordpress feeder plugins.