<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mike Van WinkleRemove the Admin Bar for Non-admin Users | Mike Van Winkle</title>
	<atom:link href="http://www.mikevanwinkle.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mikevanwinkle.com</link>
	<description>Wordpress/PHP Developer</description>
	<lastBuildDate>Tue, 31 Jan 2012 00:02:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Remove the Admin Bar for Non-admin Users</title>
		<link>http://www.mikevanwinkle.com/wordpress/remove-the-admin-bar-for-non-admin-users/</link>
		<comments>http://www.mikevanwinkle.com/wordpress/remove-the-admin-bar-for-non-admin-users/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 20:44:30 +0000</pubDate>
		<dc:creator>Mike Van Winkle</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.mikevanwinkle.com/?p=1204</guid>
		<description><![CDATA[if(!current_user_can('administrator')) { add_filter('show_admin_bar','__return_false'); remove_action('wp_head','_admin_bar_bump_cb'); }]]></description>
			<content:encoded><![CDATA[<pre class="brush:php">
		if(!current_user_can('administrator')) {
			add_filter('show_admin_bar','__return_false');
			remove_action('wp_head','_admin_bar_bump_cb');
		}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mikevanwinkle.com/wordpress/remove-the-admin-bar-for-non-admin-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Caching: Clear An Individual WordPress Post Cache</title>
		<link>http://www.mikevanwinkle.com/wordpress/wordpress-caching-clear-an-individual-wordpress-post-cache/</link>
		<comments>http://www.mikevanwinkle.com/wordpress/wordpress-caching-clear-an-individual-wordpress-post-cache/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 23:08:50 +0000</pubDate>
		<dc:creator>Mike Van Winkle</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Caching]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.mikevanwinkle.com/?p=1202</guid>
		<description><![CDATA[I&#8217;ve become a bit obsessed with caching lately. Speed is an addiction I suppose. So I found another new trick today. If your writing a plugin or theme and have some front in functionality adding and updating posts, sometimes you want to make sure a cached object is cleared before the page is refreshed. But [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve become a bit obsessed with caching lately. Speed is an addiction I suppose. So I found another new trick today. If your writing a plugin or theme and have some front in functionality adding and updating posts, sometimes you want to make sure a cached object is cleared before the page is refreshed. But you don&#8217;t want to dump the whole object cache, especially if there are thousands of posts. So to just dump one post you can simply do this:</p>
<pre class="brush:php">
wp_cache_delete($post_id,'posts');
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mikevanwinkle.com/wordpress/wordpress-caching-clear-an-individual-wordpress-post-cache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I&#8217;m Lovin Pyrocms</title>
		<link>http://www.mikevanwinkle.com/wordpress/why-im-lovin-pyrocms/</link>
		<comments>http://www.mikevanwinkle.com/wordpress/why-im-lovin-pyrocms/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 17:49:13 +0000</pubDate>
		<dc:creator>Mike Van Winkle</dc:creator>
				<category><![CDATA[PyroCMS]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.mikevanwinkle.com/?p=1196</guid>
		<description><![CDATA[So in my admittedly-limited free time I&#8217;ve been working on some PyroCMS-based projects and the more I work with it the more I love it. The main reason is that it&#8217;s built using Codeigniter which is a custom PHP framework. So if you know how to develop with CI you can easily get going with [...]]]></description>
			<content:encoded><![CDATA[<p>So in my admittedly-limited free time I&#8217;ve been working on some <a title="PyroCMS" href="http://www.pyrocms.com/">PyroCMS-based</a> projects and the more I work with it the more I love it. The main reason is that it&#8217;s built using <a title="Codeigniter" href="http://codeigniter.com/">Codeigniter</a> which is a custom PHP framework. So if you know how to develop with CI you can easily get going with PyroCMS. And because it&#8217;s built on a custom framework, there&#8217;s a structure for customization.</p>
<p>By contrast if you&#8217;re developing with WordPress and you reach a point where you have to go beyond core and start building custom plugins there&#8217;s really no pattern to follow. Sure there are hooks and filters that allow you to customize as much as you want. But because WP is not a <em>custom</em> framework, it isn&#8217;t built for customization and there are no internal conventions for full-on custom modification. So each plugin you look at has a slightly different approach to accomplishing goals. The <a href="http://www.podscms.org">Pods CMS</a> project attempts to create a standard for customization, but it has not yet been fully developed or fully adopted.</p>
<p>PyroCMS on the other hand, being CI based, strictly follows the MVC pattern and thus allows developers to anticipate the structure of any module, and replicate and override those modules if necessary. This is what custom frameworks setup to do. PyroCMS combines the code-base scalability with WordPress like features and the ability to quickly launch sites. Though, it still has a ways to go match up with WordPress on features.</p>
<p>This distinction is relevant for clients too. You decide to save on development costs and use a system like WordPress for your CMS. But then you start customizing everything and before you know it what you really have is a custom site attached to a WordPress install. This is fine until your developer goes on to bigger and better projects and you have to find a new one. Well, your WordPress install is too hacked and customized for average WordPress developers to handle. But because it wasn&#8217;t built on a custom framework, PHP developers will not be able to easily and quickly understand how the site was setup. Either way the cost of maintenance is going to be considerably higher than if you had gone custom in the first place.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikevanwinkle.com/wordpress/why-im-lovin-pyrocms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress $current_user Global Changed in WordPress 3.3</title>
		<link>http://www.mikevanwinkle.com/wordpress/wordpress-current_user-global-changed-in-wordpress-3-3/</link>
		<comments>http://www.mikevanwinkle.com/wordpress/wordpress-current_user-global-changed-in-wordpress-3-3/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 03:00:00 +0000</pubDate>
		<dc:creator>Mike Van Winkle</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.mikevanwinkle.com/?p=1189</guid>
		<description><![CDATA[WordPress has been slowly changing their global $current_user object and the changes in WordPress 3.3 broke my Simplr Registration Form Plus plugin and probably a few others. For any other developers trying to investigate why usermeta field values disappear it is because: global $current_user; This was used to return an object containing not only the [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress has been slowly changing their global $current_user object and the changes in WordPress 3.3 broke my <a href="/simplr-registration-form-plus">Simplr Registration Form Plus</a> plugin and probably a few others. For any other developers trying to investigate why usermeta field values disappear it is because:</p>
<pre class="brush:php">global $current_user;</pre>
<p>This was used to return an object containing not only the primary user fields but all the meta fields as well. So if you set a user meta field called &#8220;age&#8221; you could simply do:</p>
<pre class="brush:php">
global $current_user;
if($current_user->data->age > 21) {
  // the do some adult stuff;
}
</pre>
<p>But this shortcut is no longer available to developers and for good reason. As a general rule code should be efficient, meaning it does only what it has to. To load even the most superflous meta fields every time you access the basic user object is a waste of resources. </p>
<p>So good for WordPress, they are improving. But there are likely others like me who figured if WordPress was going to give me the info, then I was going to use it. And like me they&#8217;ll have to spend all day tracking down everywhere they used this shortcut and fixing it. Ugh. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikevanwinkle.com/wordpress/wordpress-current_user-global-changed-in-wordpress-3-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Popup Domination Plugin Breaks WordPress 3.3</title>
		<link>http://www.mikevanwinkle.com/wordpress/popup-domination-plugin-breaks-wordpress-3-3/</link>
		<comments>http://www.mikevanwinkle.com/wordpress/popup-domination-plugin-breaks-wordpress-3-3/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 19:48:11 +0000</pubDate>
		<dc:creator>Mike Van Winkle</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[fixes]]></category>
		<category><![CDATA[popup domination]]></category>
		<category><![CDATA[popup plugin]]></category>

		<guid isPermaLink="false">http://www.mikevanwinkle.com/?p=1185</guid>
		<description><![CDATA[I&#8217;m not the first to be frustrated by the Popup Domination Plugin busting the WordPress admin after upgrading to 3.3. The reason for the break is pretty simple. The plugin uses a WordPress function that itself relies on a function that has yet to be bootstrapped at the point at which the plugin is loaded. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not the first to be frustrated by the <a title="WordPress Popups" href="http://www.popupdomination.com/live/">Popup Domination Plugin </a>busting the WordPress admin after upgrading to 3.3. The reason for the break is pretty simple. The plugin uses a WordPress function that itself relies on a function that has yet to be bootstrapped at the point at which the plugin is loaded. <a title="Fix Popup Domination on WordPress 3.3" href="http://ineedhelpwithwordpress.com/popup-domination-wordpress-3-3-it-now-works/">The solution is easy thanks to this post</a>. Once you apply the fix you&#8217;ll see that Popup Domination has an update. Just auto-upgrade to the new version and you&#8217;ll be fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikevanwinkle.com/wordpress/popup-domination-plugin-breaks-wordpress-3-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Performance Tips</title>
		<link>http://www.mikevanwinkle.com/wordpress/performance/wordpress-performance-tips/</link>
		<comments>http://www.mikevanwinkle.com/wordpress/performance/wordpress-performance-tips/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 18:08:16 +0000</pubDate>
		<dc:creator>Mike Van Winkle</dc:creator>
				<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://www.mikevanwinkle.com/?p=1156</guid>
		<description><![CDATA[I&#8217;m becoming more and more obsessed with WordPress performance issues. Anyone running a site that is the slightest bit popular I amm sure has the same obsession. How do I get this site to load lightening quick! It is an uphill battle when using out-of-the box software and an especially steep hill using WordPress (why [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m becoming more and more obsessed with WordPress performance issues. Anyone running a site that is the slightest bit popular I amm sure has the same obsession. How do I get this site to load lightening quick! It is an uphill battle when using out-of-the box software and an especially steep hill using WordPress (why is an issue for another article).</p>
<p>So here are a few tips to help.</p>
<h3>Don&#8217;t use a plugin unless you have to.</h3>
<p>I&#8217;m not bashing plugins. Plugins are part of what makes WordPress such a great tool. There&#8217;s a plugin for just about everything and on low-traffic, low-usage sites you&#8217;ll be just fine loading up with 30 or 40 plugins. But as your site grows, you need to be aware that each plugin is performance drag &#8230; yes &#8230; even caching plugins at times.</p>
<p>The reason for this is obvious if you think about it. A plugin is designed for general usage &#8230; as it should be. A plugin developer has to anticipate multiple environments and prepare for as many of them as possible. They need to add user options. A stylesheet. A few javascript files maybe. And to make sure their functions are always available to end users, they load those functions as early as possible.</p>
<p>Contrast that with a custom approach. High performance PHP frameworks like CodeIgniter or Kohana make an artform out of limiting the resources used by a web application to exactly what is needed. If your website has a registration page, there&#8217;s no need to load any function or library that is not absolutely necessary for that process. But because every website is different, you have to make that discrimination on a case-by-case basis. Hence the word &#8220;custom&#8221;.</p>
<p>Budgets and resources will always limit how many plugins you can swap out with custom programming. And of course, if the custom programming sucks or the developer doesn&#8217;t understand how WordPress works, you&#8217;ll probably still be better off with a plugin. But if you <em>can</em> replace a plugin with a custom solution you&#8217;ll find it will help your performance.</p>
<h3>Carpet Bombing Won&#8217;t Cut It</h3>
<p>Most people take a carpet bombing approach to caching. Just install <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a> and you&#8217;re done. WTC is a great plugin and just having it installed is better than not having it installed. But if you have inefficient code, it won&#8217;t save you forever. </p>
<p>Let&#8217;s say you have a slow query that takes 3 seconds to run (hint: that&#8217;s waaaaay too long for a regular query). You turn on WTC page caching and no problem right? Except that page caching is turned off for logged in users, of which you have 30. And the page cache is dumped everytime something new is posted (including comments!!) and before long you&#8217;re still having crashes. The only difference is that now they are intermittent and seemingly unpredictable.</p>
<p>In the ideal world, you figure out where the slow query is and fix it. But at the very least you should know your site well enough to know where the bottlenecks are. And once you do you can target the trouble areas with a smart bomb instead of the usual napalm.</p>
<p>For instance, I have client using a <a title="Tabbed Widgets" href="http://wordpress.org/extend/plugins/tabbed-widgets/">Tabbed Widget</a> plugin. It&#8217;s a good plugin but it just doesn&#8217;t scale. The client has ten tabs each with 10 to 15 sub-items. The way the tabbed widget code is written it takes some absurd number of queries to build it. Something on the order of 800!!! Seriously. So to smart bomb this widget you can actually use the <a href="http://codex.wordpress.org/Class_Reference/WP_Object_Cache" title="WordPress Object Cache">WordPress Object Cache</a> to cache the whole damn thing as an HTML object so that it is only rebuilt every so often.</p>
<p>Let&#8217;s say our troubled widget is in the primary widget area. We can do something like this in our sidebar.php:</p>
<pre class="brush:php">
$cached_widget = wp_cache_get('widget-primary-widget-area','custom-flag');
if(!$cached_widget):
  ob_start(); ?>
The <html> stuff you want to cache
<?php
  $cached_widget = ob_get_contents();
  ob_end_clean();
  wp_cache_set('widget-primary-widget-area',$cached_widget,'custom-flag',60*60);
endif;
echo $cached_widget;
?>
</pre>
<p>First we&#8217;re checking to see if <code>$cached_widget</code> exists by checking for it in the cache. If it isn&#8217;t there then you do what you would normally do in your sidebar, but precede it with <code>ob_start()</code>. Then take the buffered object and assign it to the <code>$cached_widget</code> variable and clean up with <code>ob_end_clean()</code>. Then set the object cache and give it an expires time of 60*60 which would mean it&#8217;ll refresh once an hour. Here&#8217;s what it would look like using a pretty standard sidebar.php. </p>
<pre class="brush:php">
$cached_widget = wp_cache_get('widget-primary-widget-area','custom-flag');
if(!$cached_widget) {
	ob_start();
	?>
<div id="primary" class="widget-area" role="complementary">
<ul class="xoxo">

<?php
	/* When we call the dynamic_sidebar() function, it'll spit out
	 * the widgets for that widget area. If it instead returns false,
	 * then the sidebar simply doesn't exist, so we'll hard-code in
	 * some default sidebar stuff just in case.
	 */
	if ( ! dynamic_sidebar( 'primary-widget-area' ) ) : ?>
<li id="search" class="widget-container widget_search">
				<?php get_search_form(); ?>
			</li>
<li id="archives" class="widget-container">
<h3 class="widget-title"><?php _e( 'Archives', 'twentyten' ); ?></h3>
<ul>
					<?php wp_get_archives( 'type=monthly' ); ?>
				</ul>
</li>
<li id="meta" class="widget-container">
<h3 class="widget-title"><?php _e( 'Meta', 'twentyten' ); ?></h3>
<ul>
					<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>

					<?php wp_meta(); ?>
				</ul>
</li>

		<?php endif; // end primary widget area ?>
			</ul>
</div>

<!-- #primary .widget-area -->
	<?php
	$cached_widget = ob_get_contents();
	ob_end_clean();
	wp_cache_set('widget-primary-widget-area',$cached_widget,'custom-flag',60*60);
}
echo $cached_widget;
?>
</pre>
<p>You can read more about Object caching here: <a href="http://codex.wordpress.org/Class_Reference/WP_Object_Cache" title="Object Caching">http://codex.wordpress.org/Class_Reference/WP_Object_Cache</a>.</p>
<h3>Lazy Loading</h3>
<p>A concept used in the custom programming world that is often lost on WordPress developers is &#8220;<a href="http://en.wikipedia.org/wiki/Lazy_loading" title="Lazy Loading">lazy loading</a>&#8220;. If you&#8217;re running a big site chances are your theme functions.php has gotten a bit crowded. I had one site whose functions.php got to 2000+ lines before we got around to reorganizing (not recommended). </p>
<p>As these files get bigger they become more burdensome to load. You should consider creating a directory called <code>functions</code> and storing &#8220;libraries&#8221; in that folder with a naming convention that makes sense to you. Then in your functions.php load those file using <code>include_once($pathtofile);</code>. You can then wrap these includes with standard WordPress conditionals to make sure they only load when you need them. </p>
<p>Lets say you have a special page template called <code>page-directory.php</code>. This page houses your super-awesome site directory that requires all sorts of special functions to make it work &#8230; i.e. custom javascript includes, a special stylesheet, and a few custom template tags. Doing something like this in your functions.php could help your performance by only loading that functionality when needed.</p>
<pre>
<?php //function.php
if(is_page_template('page-directory.php')) {
   include_once(dirname(__FILE__).'/functions/directory.php');
}
?>
</pre>
<h3>Wrap it up</h3>
<p>There are a lot of advantages to WordPress and performance is NOT one of them. But a little planning and a little knowledge of how WordPress works you can get a long way toward a high performance site without giving up the many good things WordPress has to offer. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikevanwinkle.com/wordpress/performance/wordpress-performance-tips/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress Hack: Turning Off BuddyPress Notifications By Default</title>
		<link>http://www.mikevanwinkle.com/wordpress/wordpress-hack-turning-off-buddypress-notifications-by-default/</link>
		<comments>http://www.mikevanwinkle.com/wordpress/wordpress-hack-turning-off-buddypress-notifications-by-default/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 17:48:56 +0000</pubDate>
		<dc:creator>Mike Van Winkle</dc:creator>
				<category><![CDATA[BuddyPress]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.mikevanwinkle.com/?p=1146</guid>
		<description><![CDATA[By default BuddyPress has all sorts of email notifications turned on. This is great unless you have a big site with lots of activity and site-wide discussions. Then new users start getting pinged repeatedly on discussions they don&#8217;t want to follow or don&#8217;t even know they are apart of! So you may want BuddyPress to turn the [...]]]></description>
			<content:encoded><![CDATA[<p>By default BuddyPress has all sorts of email notifications turned on. This is great unless you have a big site with lots of activity and site-wide discussions. Then new users start getting pinged repeatedly on discussions they don&#8217;t want to follow or don&#8217;t even know they are apart of! So you may want BuddyPress to turn the notifications off by default. But there&#8217;s no clear way to do this in the admin. Well, here&#8217;s the golden function.</p>
<pre class="brush:php">
add_action('bp_core_signup_user','bp_set_notification_default',100,1);
function bp_set_notification_default($user_id) {
	$keys = array('notification_activity_new_mention','notification_activity_new_reply','notification_friends_friendship_accepted','notification_friends_friendship_request','notification_groups_admin_promotion','notification_groups_group_updated','notification_groups_invite','notification_groups_membership_request','notification_messages_new_message','notification_messages_new_notice');
	foreach($keys as $key) {
		update_user_meta($user_id,$key,'no');
	}
}
</pre>
<p>Please note that this function is hooked to <code>bp_core_user_signup</code> which means existing users still have to manually turn off notifications. But you could easily run this function on an array of user_ids to change the defaults for existing users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikevanwinkle.com/wordpress/wordpress-hack-turning-off-buddypress-notifications-by-default/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PyroCMS, Consider Me Impressed</title>
		<link>http://www.mikevanwinkle.com/pyrocms/pyrocms-consider-me-impressed/</link>
		<comments>http://www.mikevanwinkle.com/pyrocms/pyrocms-consider-me-impressed/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 15:49:59 +0000</pubDate>
		<dc:creator>Mike Van Winkle</dc:creator>
				<category><![CDATA[PyroCMS]]></category>

		<guid isPermaLink="false">http://www.mikevanwinkle.com/?p=1128</guid>
		<description><![CDATA[Just a quick plug. I&#8217;m building my first project with PyroCMS. I was already a fan of Codeigniter, the core behind PyroCMS, but so far I&#8217;m impressed with just how easy it is to set up and extend CI with PryoCMS if you&#8217;re already familiar with CI and MVC. It lacks the community that WP [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick plug. I&#8217;m building my first project with <a title="PyroCMS" href="http://pyrocms.com/">PyroCMS</a>. I was already a fan of <a href="http://codeigniter.com">Codeigniter</a>, the core behind PyroCMS, but so far I&#8217;m impressed with just how easy it is to set up and extend CI with PryoCMS if you&#8217;re already familiar with CI and MVC. It lacks the community that WP has supporting it, so you&#8217;ll need to be prepared to do some custom code. But in a lot of cases it&#8217;s the ability to customize that you really need, but you don&#8217;t want to have to build a backend from scratch. PyroCMS seems to serve this purpose very effectively.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikevanwinkle.com/pyrocms/pyrocms-consider-me-impressed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BuddyPress and WordPress 3.2 Upgrade Issues</title>
		<link>http://www.mikevanwinkle.com/wordpress/buddypress-and-wordpress-3-2-upgrade-issues/</link>
		<comments>http://www.mikevanwinkle.com/wordpress/buddypress-and-wordpress-3-2-upgrade-issues/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 12:53:15 +0000</pubDate>
		<dc:creator>Mike Van Winkle</dc:creator>
				<category><![CDATA[BuddyPress]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.mikevanwinkle.com/?p=1116</guid>
		<description><![CDATA[Just in case anyone else had this issue. I upgraded several WordPress/BuddyPress installations to version 3.2 and found that my Dashboard menus no longer would expand and collapse as usual. The problem I discovered was some sort of conflict in the jQuery Easing plugin that ships with the BuddyPress default theme and the version of [...]]]></description>
			<content:encoded><![CDATA[<p>Just in case anyone else had this issue. I upgraded several WordPress/BuddyPress installations to version 3.2 and found that my Dashboard menus no longer would expand and collapse as usual. The problem I discovered was some sort of conflict in the jQuery Easing plugin that ships with the BuddyPress default theme and the version of jQuery running in WordPress (now 1.6+). I&#8217;m not a jQuery pro so I didn&#8217;t bother trying to track down the bug precisely. But I found the problem was fixed by going into my theme&#8217;s _inc/global.js file and commenting out the block of minified javascript below:</p>
<pre class="brush:php">
/* jQuery Easing Plugin, v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ */
jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return -h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return -h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return -h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return -h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return -h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return -h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return -h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return -h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return -(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e},easeOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return g*Math.pow(2,-10*h)*Math.sin((h*k-i)*(2*Math.PI)/j)+l+e},easeInOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k/2)==2){return e+l}if(!j){j=k*(0.3*1.5)}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}if(h<1){return -0.5*(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e}return g*Math.pow(2,-10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j)*0.5+l+e},easeInBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+a},easeOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+a},easeInOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+a}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+a},easeInBounce:function(e,f,a,h,g){return h-jQuery.easing.easeOutBounce(e,g-f,0,h,g)+a},easeOutBounce:function(e,f,a,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+a}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+a}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+a}else{return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+a}}}},easeInOutBounce:function(e,f,a,h,g){if(f<g/2){return jQuery.easing.easeInBounce(e,f*2,0,h,g)*0.5+a}return jQuery.easing.easeOutBounce(e,f*2-g,0,h,g)*0.5+h*0.5+a}});
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mikevanwinkle.com/wordpress/buddypress-and-wordpress-3-2-upgrade-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manage BuddyPress Inactive Users</title>
		<link>http://www.mikevanwinkle.com/wordpress/manage-buddypress-inactive-users/</link>
		<comments>http://www.mikevanwinkle.com/wordpress/manage-buddypress-inactive-users/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 20:54:28 +0000</pubDate>
		<dc:creator>Mike Van Winkle</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.mikevanwinkle.com/?p=1110</guid>
		<description><![CDATA[So I quickly threw together this plugin today for a project I&#8217;m working on in which I need the ability to resend individual &#8220;welcome&#8221; emails via the standard WordPress admin. It very simply adds a screen in the user admin that queries inactive users and then adds a button to each row to send the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-1112 alignright" title="Screen shot 2011-07-04 at 4.47.05 PM" src="http://www.mikevanwinkle.com/wp-content/uploads/2011/07/Screen-shot-2011-07-04-at-4.47.05-PM.png" alt="" width="248" height="158" />So I quickly threw together this plugin today for a project I&#8217;m working on in which I need the ability to resend individual &#8220;welcome&#8221; emails via the standard WordPress admin. It very simply adds a screen in the user admin that queries inactive users and then adds a button to each row to send the email. This plugin was designed to work with BuddyPress installations and is not a stand alone. I&#8217;ll be adding mass edit and manual activation shortly.</p>
<p><a href="http://www.mikevanwinkle.com/wp-content/uploads/2011/07/manage-buddypress-inactive-users.zip">Download Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikevanwinkle.com/wordpress/manage-buddypress-inactive-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Object Caching 657/659 objects using apc

Served from: www.mikevanwinkle.com @ 2012-02-04 18:50:26 -->
