Category

blog

WordPress Crash Course

By | blog

I hope you are spared my struggle.

Not knowing anything about wordpress proved rather difficult for me because seemingly simple procedures become complicated without knowing the easy way to do them.  I tried hacking PHP and creating custom templates and figuring out the inner workings of the way wordpress taxonomy works just so i could get a few measly posts to show up on a page based on their category…

This is a crash course for doing a basic wordpress website/porfolio using a local server and then transitioning it to your own server. I use dreamhost as my webhost. They are super cool and helpful. This is a hasty composite of the things I think I learned through several months of extreme torture. It assumes you know a little bit about html, css, and they way php works, even if you can’t code it. (lord knows I can’t).

First thing:

MAMP – Allows you to create and test yr site locally on yr own machine. Plug and play for a mac.
get MAMP and put yr wordpress stuff into HTDocs folder inside mamp folder. MAMP lives in your applications folder on your hard disk. Htdocs is like the root directory of your server. I wouldn’t make a subdirectory called htdocs/wordpress and then put yr site in it because it will cause headaches later when you try and move it and all of yr theme data and pics will be looking for ‘www.yourwebsite.com/wordpress’ rather then just ‘www.yourwebsite.com’. yr website will be located at http://localhost:8888. to access yr wordpress administrator area type http://localhost:888/wp-admin.

http://www.mamp.info/en/index.html

Key concepts:

Important
Pages – static pages, with content that doesn’t change. Can be used in conjunction with a shortcode plugin to call lists of posts based on what category/tag they are assigned.
Posts – Use for main content stuff, assign tags and categories in order to sort them by different classifications. These could be blog posts, or content that shows up on other pages.
Tags – allows for easy sorting and calling up of specific posts.
Categories – another way of classifying posts. theres a widget that comes with wordpress that allows you to put the list of categories into the sidebar as a type of navigation.
Heirarchy – pages and categories can be nested in eachother to create heirarchies in terms of the way things are seen.
featured images – good to set one of these for every post, so when you call up a list of posts, they show up with just one image, and or a text blurb from the main body text from the post.
shortcode: – super useful plugins you can download to insert different types of dynamic content into pages and posts. It just requires a tiny bit of pseudo-code like [cat = “1”] to call all of the posts from category 1 onto that page. for instance instead of putting a widget on the sidebar, you can put it on a specific page and only have it seen on that page.
child themes- make one of these if you are going to alter a theme so you don’t mess up the original i still need to figure out how to do this.

Less Useful
the loop – this is the php in each template.php that calls the posts or the blog stuff. the header and other template tags are usually put around this. I haven’t figured out how to alter it successfully.
query_post – this is a php call that you put before the loop, to call specific posts based on tags or categories and display them in a particular way. (although I haven’t done this successfully). If you do it wrong if messes up yr loop and can cause recursions or other wacky stuff.
templates: templates are the different types of pages that exist in a wordpress theme. there are these things called template tags that allow you to call different parts of wordpress up to make your own themes but its really complicated and involves hacking php. you dont’ really need to do this if you just use shortcodes.

Weaver
Get the weaver theme because its highly customizable and gives you lots of latitude for customization.
http://wordpress.org/extend/themes/weaver
highlights:

  • 15 different themes
  • input CSS into special section in weaver admin bar to customize your own div tags.
  • suppress wigets on a page by page basis, so if you don’t want widgets or sidebars on homepage, no sidebars!!
  • allows you to easily call a page of posts based on category.

PLUGINS

This is a good events plugin
if you fiddle with it you can delete the extraneous parts in the plugin settings, although not obvious at first.
http://wp-events-plugin.com/

List Category Posts
This allows you to use shortcode to call a bunch of posts to a page based on what category they’re in. Rather then using a template, this allows you to put a tiny piece of code into the text of hte page to do it. Has a bunch of customization features you can add in to alter how it displays.
http://picandocodigo.net/programacion/wordpress/list-category-posts-wordpress-plugin-english/

Widgets on Pages
Allows you to use shortcode to stick a widget on a single page, rather then a sidebar that recurrs everywhere.
http://gingerbreaddesign.co.uk/wordpress/widgets-on-pages/

URL updater
THIS ALLOWS YOU TO CHANGE ALL OF YR URLS WHEN YOU TRY MOVING YR SITE AND ALL IMAGES ARE BROKEN!!!
Velvet Blues Update URLs

http://wordpress.org/extend/plugins/velvet-blues-update-urls/

Transitioning wordpress site from MAMP to dreamhost:
http://codex.wordpress.org/Moving_WordPress
http://a.parsons.edu/~zeravivm/s10/osd/tag/mamp/

  1. Go to MAMP settings page and go to “myPHP” section.
  2. Export all of your mysql tables as a .sql file
  3. open the .sql file in textwrangler and find/replace everything with ‘localhost:8888’ to your actual website url.
  4. open dreamhost and make a new database in yr myPHP section.
  5. make sure you know what yr username and password are and where hte database is hosted. for instance mysql.yourwebsite.com
  6. import yr .sql database to yr new database in myPHP area on dreamhost. you should see 17 tables created afterwards with different wordpress stuff.
  7. upload yr entire wordpress to your root directory via FTP
  8. open wp-config and put yr appropriate database info in there.
  9. open yr website and go to yr settings in dashboard and make sure that your URL’s are pointed to the right place.

I think that should do it…

let me know if any aspect of this doesn’t make any sense.

PEACE

eric