I started working on widgets the other day. A goal for XenWord 3.3 is for the widgets to be consistent in six key areas:
- Use ob_start()
- PHP 5.3 hook
- $fetchOptions and $conditions
- return $instance or 'no form'
- proper class naming (match file name and class name)
$fetchOptions: join, order, orderDirection, and limit are four key elements.
$conditions: discussion_state, discussion_type, prefix_id, sticky, and deleted are key.
I made it only through two widgets tonight. It was slow going as I was working through the WP_Widget::form() and trying to be consistent on the widgets' backend.