I'm required by my GIS Master's program to create an online portfolio of my work. As I learn new mapping technologies and software I'd like to share my knowledge through a blog. I've decided to go with WordPress, but this is my first project on the platform.

I've already developed a very basic php application that queries a mySQL database of my past academic coursework. When the page loads all of the data is displayed in a table, however, there's a selection box where you can filter the data (with ajax) by the College that offered the course.

I'd like to integrate this functionality into a WordPress site so that it fits nicely into the main content area of a template. I think this type of functionality would be helpful to others in the future so I'd like to make this my first plug-in.

There seems to be several different ways to store custom data (post meta, options, custom table) in the WordPress database, but I'm looking for some guidance for my use case. Obviously with my working prototype using custom tables would be the easiest to implement, but I might lose functionality that goes along with the core WordPress API.

I only have about 150 rows of data so I can't imagine indexing would be much of a concern. Eventually I'd like to add an admin side to the plugin, which would allow uploading a file (CSV?), and adding/removing a single course.

  • Best way to take advantage of WP APIs is to use WP objects: posts, taxonomies, custom fields (if needed). So instead of use custom tables, is preferable convert your data in WP standard data. This can be done in a lot of ways, even manually, once 150 rows are not an impossible number. Other way can be export your data in csv and then import using one of the plugin you can find with a google search. – gmazzap Sep 17 '13 at 17:48
  • I suspect the main problem I'm having is with understanding WP terminology. I see this case as more of a Page than a Post (each row isn't a post, it's part of a larger dataset). From what I can tell taxonomies are more for grouping similar content. I see that you can add custom fields to pages, but it looks like it was designed for adding single pieces of information (author = Balzac) as opposed to an entire table. – Roy Sep 17 '13 at 18:12
  • a page is a "post" of type page. menu items in WordPress are also a post type, as are attachments. don't think of a custom post type as a "post", it's just a row of data in a table, extra attributes for that row can be stored as post meta data. – Milo Sep 17 '13 at 18:21
  • Thanks @Milo ! Thinking of a post as a row in a table just made something "click." I'm still struggling to understand how to store my existing data as a custom post. Any chance you could suggest materials you would recommend? – Roy Sep 17 '13 at 18:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.