Spots
Add to ListHere at interconnect/it we have a policy of developing client sites with the premise of “content manage everything!” That means the little notices on sites, minor widgets and so on should not only be content managed, but they should be easy for both an end-user and a developer to work with.
To that end, we developed Spots. This creates a custom post type that allows you to create widgets using a visual editor, whilst also giving developers an easy hook for the creation of content managable elements within a theme.
The plugin now uses caching in order to help ensure that the load on a typical site is kept to a minimum. Performance is important!
The plugin is prepared for translation, if you’d like to drop us a line about your translation you can contact us through our website.
Developer Notes
Spots provides 2 template tags for developers to use shown below with their supported arguments.
icit_spot( $id_or_name, $template );
$id_or_name
: Required. A numeric ID or the name of a spot as a string.$template
: Optional. A string used in a call toget_template_part()
This template tag always echos out the spot.
icit_get_spot( $id_or_name, $template, $echo );
Same as the above with an extra argument:
$echo
: Optional. Defaults to false. A boolean to indicate whether to echo the spot content or just return it.
Basic Usage
You can use spots to replace boilerplate text in your themes. If you have areas in your themes where typically you would hard code the text you could use the following code:
<?php
if ( function_exists( 'icit_spot' ) )
icit_spot( 'Copyright' );
?>
The above code would output the contents of a spot titled ‘Copyright’. If the spot does not exist it will be created as a draft. Spots in draft mode are only visible to logged in users with editing capabilities.
Templates
The plugin will initially look for a file in your theme using the get_template_part()
function. If you have a file called spot.php
in your theme that will be the default template for all spots. The icit_spot()
function can take a second parameter for the template part to use for example:
<?php
if ( function_exists( 'icit_spot' ) )
icit_spot( 'Copyright', 'copyright' );
?>
The above code will make the plugin look in your theme folder for a file called spot-copyright.php
to use for the output. If not available it will fall back to spot.php
and if that is not available it will simply output the spot contents.
Use templates when you want to display a featured image from a spot or if you require some additional/alternative markup for the spot. Spots are just like posts, so in the templates you retrieve the contents of the spot using the_content()
just as would in the loop.
Basic spot template example:
<div class="spot">
<?php the_content(); ?>
</div>
Spot template with featured image:
<div class="spot-with-image">
<?php
if ( has_post_thumbnail() )
the_post_thumbnail( 'medium' );
the_content(); ?>
</div>
Additional
There are many filters and hooks available to get even more out of spots so drop by the plugin homepage or use the forums if there is something you need to do with spots but aren’t sure how.