There may be few occasions where you like to have secondary content in your pages or posts on your WordPress website. We have a snippet that solves the issue. With this snippet below you can add a secondary blurb to a WordPress page/post. This is very useful if your theme has a two colounm layout and you’d like a dedicated rich text-editor for each.
To output the content of the secondary blurb in our theme, use <?php echo yourplugin_secondary_blurb() ?> in your desired template page (ie: page.php or single.php) and place the following in functions.php:
<?
//call our hooks
add_action('admin_init', 'yourplugin_metabox');
add_action('save_post', 'yourplugin_metabox_save');
//return the custom blurb
function yourplugin_secondary_blurb($id = '') {
$id = (empty($id)) ? get_the_ID() : intval($id);
$custom = get_post_custom($id);
return @$custom['secondary_blurb'][0];
}
// add metabox to 'page' post type
// use 'post' for posts or array('page','post') for multi
function yourplugin_metabox() {
global $hys;
if ( current_user_can('manage_options') )
add_meta_box( 'secondary_blurb_box_id',
__('Secondary Blurb', 'yourplugin_sec_blurb' ),
'secondary_blurb_box', 'page' );
}
//secondary blurb metabox HTML
function secondary_blurb_box() {
global $post;
echo '<input type="hidden" name="yourplugin_noncename"'.
' id="yourplugin_noncename" value="' .
wp_create_nonce( 'aunqiueyourpluginid' ) . '" />
<style type="text/css">
#ed_toolbar { display:none; }
</style><div>';
the_editor(yourplugin_secondary_blurb(), "secondary_blurb");
echo "</div>";
}
// save the secondary blurb value. verify and permission
function yourplugin_metabox_save( $post_id ) {
global $hys;
if (!isset($_POST['yourplugin_noncename']) ||
!wp_verify_nonce( $_POST['yourplugin_noncename'],
'aunqiueyourpluginid' ))
return $post_id;
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
return $post_id;
if ( 'page' == $_POST['post_type'] ) {
if ( !current_user_can( 'edit_page', $post_id ) )
return $post_id;
}
//save the secondary blurb text if applic..
if (isset($_POST['secondary_blurb'])) {
update_post_meta($post_id,'secondary_blurb',$_POST['secondary_blurb']) or
add_post_meta($post_id,'secondary_blurb',$_POST['secondary_blurb']);
}
}
?>