WordPress Pods Projects Going For A Song

March 9th, 2010 by Keith from shrewdies | No Comments | Filed in Function
When I introduced my WordPress Pods Plugin Builder yesterday, I hinted at an example project to test the builder with.

I can reveal that this will be an homage to the ubiquitous Hello Dolly plugin – with some extras, and some Pods magic.

Just to remind you. I love Pods as it is intended to be used – a Content Management System that extends WordPress Pages and Posts to allow developers to provide new content styles. This is extremely important to me as I develop new tools for webmasters, and new web applications to extend my health sites.

But for the moment, I’m hooked (pun intended) on using Pods to hook rapidly developed packages into WordPress as plugins. This series of articles explains the Pods features used to create WordPress plugin files complete with readme.txt. WordPress explains what a plugin is by way of the Hello Dolly example. In a similar way, I needed a very simple plugin application to test and demonstrate my WordPress Pods Plugin Builder.

Enter Soft Charisma, the music company run by Scott Kingsley Clark, one of Pods lead developers. Scott has written the perfect song to complement Hello Dolly – Think Of Happiness Today.

Happiness Today Plugin

Happiness Today Plugin - click for large size

My plugin, Happiness Today, displays random lyrics from the song on the admin pages. So far, so Hello Dolly, but there are extras: Read the rest of this entry »

Tags: , ,

WordPress Pods Plugin Builder Taking Shape

March 8th, 2010 by Keith from shrewdies | No Comments | Filed in Function
WordPress Pods CMS plugin is fantastic for adding new content to websites that do not easily fit the standard Page or Post styles.

With it’s easy to use interface, it is good for novice writers, but it also stands on a very powerful data management platform.

This makes it a real candidate for Rapid Application Development, but how to package and distribute those applications?

Before I present my latest project for building structured WordPress plugins, packaged with properly formatted readme file, straight from the Pods interface let me explain what Pods is.
Read the rest of this entry »

Tags: , , ,

Make Microformats Work For You – Ignore Them

February 25th, 2010 by Keith from shrewdies | 2 Comments | Filed in Function
Microformats are the latest topic to confuse budding webmasters.

But are they relevant to WordPress website owners, and will they help or hinder your marketing efforts.

More to the point – what are they?

The buzz for webmasters is that microformats help you on Google. But there are one or two fairly large points missing from that.

Before we look into those, let me explain what microformats are. They are tags in your web page, similar in operation to HTML tags. Whereas HTML tags change the appearance of text, microformats tell search engines and other robots what your text means. More specifically they describe the context of your text as structured data.

Whoopi-f-ing-doo you cry, or at least “so what.”

But wait, this is important.

If a search engine can interpret the type of information you are presenting, it can list you better. It puts your information into the right context. You can explicitly distinguish the author of a work from a work about an author.

Your words, with these descriptive tags, are known as rich snippets. If you currently earn money by providing content that includes reviews, people, businesses, organizations, events or video, then you need these snippets to help you get richer.

Why Microformats?

A search engine that might have sent you a little traffic from time to time has more information on rich snippets (including a validation tool), but before you investigate that, consider what is missing from the “Google & Microformats: Drive More Traffic” article. Read the rest of this entry »

Tags: , , ,

WordPress WYSIWYG Made Easy

February 22nd, 2010 by Keith from shrewdies | 5 Comments | Filed in Function
What you see is not always what you get with WordPress.

WordPress WYSIWYG

  • Easily add site-wide WYSIWYG textareas
  • Beware the Internet Explorer trap
  • Download to avoid losing service
  • Configure options for best results

By default, the standard WordPress WYSIWYG editor is TinyMCE – but it is a non-standard implementation, and it is only used in new posts, not comments.

There are many plugins that extend both the functionality and application of TinyMCE. Life can get very complicated checking all the options, but I stopped looking when I road tested Front-end Editor. This uses the NicEdit WYSIWYG editor, which is very easy to implement.

I looked at the WP NicEdit plugin, but it is no longer supported. Anyway, I checked out the NicEdit site, and it only needs a couple of lines of code, so I just added them to my footer. Being short of time, I took the lazy option of linking direct to the NicEdit site, using the two lines of code on the NicEdit homepage, instead of installing on my own server. I regretted that, but it was easily fixed, with some interesting options, which I will explain soon.

First let me mention a terrible problem (with a praise-winning fix) I found when I tested in Internet Explorer instead of my faithful Firefox. Read the rest of this entry »

Tags: ,

Join The WordPress Web Hosting Debate

February 12th, 2010 by Keith from shrewdies | 8 Comments | Filed in Web Hosting
One advantage of WordPress web hosting is the ease with which debate is encouraged through commenting.

Link Policy At A Glance

  • Contributors must add value
  • Sidebar link list for top posters
  • Nofollow removed on guests after 2 comments
  • Nofollow removed immediately for registered users

Then WordPress removes the incentive for you to contribute by adding a nofollow link to your comments! :cry:

In turn, I remove that nofollow attribute, in most circumstances, so that you get search engine rewards for your valued contribution. :razz:

I interrupt my series on the shrewdBar development of a Pods package to highlight the benefits you get from joining the web hosting discussion on this site. By discussion, I mean adding valuable questions, comments or theories to existing topics, or starting a new discussion on a web hosting, or WordPress, related topic.

I have updated my link policy today, to explain more clearly how you can get incoming links to your site.

I have also added a top contributors list on the sidebar, to give extra links for those who contribute most. Read the rest of this entry »

Tags: ,

WordPress Database Extension

February 9th, 2010 by Keith from shrewdies | No Comments | Filed in Function
Extending the WordPress database is the first step in developing my menu bar.

In most WordPress extensions, a lot of data is hidden in the code.

The massive advantage of Pods is that we can easily store additional data, and manage it very efficiently.

In the first installment of this series, I introduced shrewdBar, explaining it was based on a WordPress plugin that creates a menu by outputting data in the form of a CSS LIst driven menu. This type of menu is quite common – you style a nested list to have hidden items that reveal themselves when the mouse hovers over them. The added attraction of this type of menu is that without the styling, you simply have a nested list of items that search engines can follow.

The CSS issues are for another time. What I need you to realize is that these menus are usually built in code, with a lot of hard-coded links. True, the original menubar, DashBar, on which shrewdBar is roughly based, does have some items that are extracted from WordPress database tables. In my first version of the menu bar, I extended this to extract messages and topics from the Simple:Press forum.

Pods allowed me to put all the menu items into WordPress database tables, and I explain in this article, how I achieved this.

shrewdBar Database

In its current release, I have limited the menu to two tiers, so we have a Pod for the top tier, that you see across the top of the page. Optionally, each of these top level records can have a variable number of child items.

The schematic is:

shrewdies_bar    link    shrewdies_bar_item
name (txt) name (txt)
slug (slug) slug (slug)
bartext (txt) itemtext (txt)
bartitle (txt) itemtitle (txt)
barurl (txt) itemurl (txt)
baritems (pick shrewdies_bar_item)  ¹——∞ itembar (pick shrewdies_bar)
bardisplay (code)
barhold (bool)

Pods automatically creates the name and slug fields when we create a new pod. name identifies the record, and I also use it as a sort order. slug is very useful in many Pods packages, and I’ll cover it in depth later, but it is not really required in the current version of shrewdBar.

The text, title and url fields are the menu links that are used to navigate to different pages. The pick fields are used to relate tables – in this case a one to many relationship.

The top level menu records have two additional fields. The boolean hold field allows menu items to be temporarily hidden, without deleting the record. This is not required for second level items, as it is a simple click to break or make the relationship to a top level menu. The display field allows us to enter PHP code which can programatically control the display giving us very powerful dynamic menus. I’ll be discussing this at length in the next installment.

shrewdBar Options

Like most plugins, shrewdBar needs options to control colors and positioning. Unlike most WordPress plugins, these options no longer have to live in the options table where they soon get lost. I put the shrewdBar options in its own table, which makes it very easy to manage. The options data could be managed using the standard Pods edit page, however I find it better to write a special page with information and instructions. I’ll be covering this in detail in a later installment.

In the next installment, I will explain how simple Pods procedures act on the data to produce the list output that forms the shrewdBar menu.

Tags: , , ,

WordPress Plugin That Isn’t

February 2nd, 2010 by Keith from shrewdies | No Comments | Filed in Function
This is about the WordPress plugin that isn’t a plugin!

It might become one. It started life as one.

But, for now, it is a Pods package, and this is the first part in a series that explains what a Pods package is, how it improves WordPress functionality, and how you can apply it to your own site.

Before we start, I was reminded earlier about the crucial importance of purpose as your first step. When you set out to add functionality to WordPress, you must be clear about why you are doing it. If you employ assistants, or ask for help on the forums here, or elsewhere, you must communicate that purpose clearly.

Xarzu told me earlier that she wanted to write WordPress plugins and asked if I could recommend a comprehensive list of hooks, actions and filters. I subsequently found she’d asked this in just about every forum on the Internet, irrespective of it’s subject matter. That kind of spam is best ignored, but it does serve as a prime example of what goes wrong when you do not have a clear purpose.

Firstly, I noticed that Xarzu had received lots of positive help, despite the poor question. People want to help, but if the goals are not clear, if the question is too vague, if there is lack of purpose, then that help is often wasted. So before you even think of adding any functionality to WordPress, think long and hard about the purpose of your plugin, and who the typical user is.

My latest project started when I tried the Splix theme, and found the built-in menu bar. It certainly helped me use WordPress as an application, and is a welcome feature of WordPress.com sites. It struck me that as you add functionality to your website, e.g. with forums, polls, news etc, your website becomes an application for your visitors. So I started my WordPress menu bar plugin project.

The purpose of the plugin is to improve navigation efficiency for 3 groups of users:
Read the rest of this entry »

Tags: , , ,

WordPress Plugins – Developer’s Dream

February 1st, 2010 by Keith from shrewdies | No Comments | Filed in Function
I searched for WordPress Plugins that would help me apply structure to my own efforts.

A scary journey, but now the nightmare is over.

Now I can dream happily of a bright WordPress development future.

But, there is no time to dream. Not even time to hack together a pretty picture to decorate this article. I’m fired up for developing, but there is just enough time to let you know what the plan is.

When I finally decided on the SCB framework, I sat down to plan how to integrate my menu system, a hack of DashBar, into that structure. It looked like a project that might also suit Pods, as I would need somewhere to store menu item links.

What’s the first thing I notice in SCB? Routines to handle WordPress options and table data. But can’t I just use Pods for that?

Yes, I can!

Read the rest of this entry »

Tags: , , , ,

Pods WordPress Plugin

January 30th, 2010 by Keith from shrewdies | No Comments | Filed in Function
The Pods WordPress plugin is driving me crazy.

Mad with admiration one minute, mad with frustration the next.

It’s like breaking your leg when you jump around to celebrate a lottery win. Fantastic find – frustrating failings.

Let me say first, that so far, I believe the potential of this plugin is tremendous. I’m just letting off a bit of steam here because the excitement of finding a truly great WordPress plugin is making me emotional about the rough edges. I am certain those rough edges can be easily smoothed. The proof of the pudding will come in a day or so, when I complete my replacement toolbar.

The developers describe it as:

WordPress evolved.
Pods is a CMS framework for WordPress.
It’s a plugin that sits on top of WordPress, allowing you to add and display your own content types.

I see it as a Rapid Application Development (RAD) tool that could change the way we look at plugins.

Why am I so pleased with this gem?

For months, I have been looking for an easy way to work with extra data tagged onto WordPress. With a background in relational database planning and management, it is frustrating to have to workround things like usermeta & WordPress options. Also, I like simple but comprehensive forms to manage linked data, and it is daunting to have to code a relational database application to integrate with WordPress.

I can see that it can be done. Simple:Press forum is a prime example of integrating a rich database application into WordPress, but it has a scary amount of code and complex field relationships, with little in the way of generic routines that can be adapted for other applications.

Other tools I have seen, only allow simple flat file manipulation, and would need a lot of adapting to tackle relationships. Enter Pods – an easy way to add relational tables as separate applications, or linked into WordPress users or posts. Amazing potential, and amazingly easy to use.

So what are the problems?

Not much if you are familiar with coding, and do not mind getting your hands dirty.

  • The user guide is very poor in examples, and I suspect some of it is out of date, as the plugin is still on a steep development curve.
  • The forum, and the guide, have been radically pruned recently, so just as you think you have found an answer to something – click – 404 not found!
  • Pods has a great way of attaching code to fields called helpers, but the names of these have been changed in the latest release, so many of the example packages do not work. However, it is very easy to find and replace on these, so very easy to fix – I’m just surprised it should be necessary.

So that’s a very brief introduction to Pods. I’ll go and finish the toolbar, then go through some code over the next few posts to show you just how easy it is to build an application. Early days yet, but I think this might be the answer to my nightmare about the lack of good, well-structured example plugins.

Tags: , , ,

Simpler Forum User Requirements

January 21st, 2010 by Shrewdy | No Comments | Filed in Web Hosting

Using the simpler forum format, I need:

  • Either a better dashboard, or restrict it completely.
  • Alternative way to create new posts, or autosave with current
    form.
  • Edit post should not use admin area, but IE does not format Front Edit correctly.
  • Working profile page.
  • New/updated Topics on menu bar.
  • Subscribe/watch topics

Edit of original post and comments should be either paragraph or full. Edit
should be limited by activity, not by time.