Skip to content

WordPress Portland

As promised, the code from my WordPress Portland demo: a small plugin that adds a feature pointer to the admin in WordPress 3.3. Pointers are core-only for now, so keep them out of distributed plugins and themes.

Blank wooden signpost arrows in a forest
Photo by geralt on Pixabay

As promised, here is the code for my demo of adding feature pointers to WordPress in version 3.3

And again, please do not use these in distributed plugins/themes.  They’re only slated for Core at the moment, but if you feel that they’ll help in your custom theme/plugin development with clients, feel free!


<!--?php <br ?--> /*
Plugin Name: WordPress Portland Meetup Pointer Demo
Plugin URI:
Description: Demonstrate feature pointers in WP 3.3
Author: Eric Mann
Version: 1.0
Author URI: http://eamann.com
*/

add_action( 'admin_enqueue_scripts', 'pdxwp_pointers_header' );
function pdxwp_pointers_header() {
$enqueue = false;

$dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );

if ( ! in_array( 'pdxwp_pointer', $dismissed ) ) {
$enqueue = true;
add_action( 'admin_print_footer_scripts', 'pdxwp_pointers_footer' );
}

if ( $enqueue ) {
// Enqueue pointers
wp_enqueue_script( 'wp-pointer' );
wp_enqueue_style( 'wp-pointer' );
}
}

function pdxwp_pointers_footer() {
$pointer_content = '
<h3>Welcome WordPress Portland!</h3>
';
$pointer_content .= '

This is an example of an admin pointer.

';
$pointer_content .= '

You can use it in your <a href="http://wordpress.org/extend/themes">themes</a> ';
$pointer_content .= 'and <a href="http://wordpress.org/extend/plugins">plugins</a>.

';
?>
<script type="text/javascript">// <![CDATA[
jQuery(document).ready(function($) {
	$('#menu-comments').pointer({
		content: '<?php echo $pointer_content; ?>',
		position: {
			edge: 'left',
			align: 'center'
		},
		close: function() {
			$.post( ajaxurl, {
				pointer: 'pdxwp_pointer',
				action: 'dismiss-wp-pointer'
			});
		}
	}).pointer('open');
});
// ]]></script>
<!--?php <br ?--> }

?>
Code language: PHP (php)