<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Marcus etc.</title>
	
	<link>http://msyk.es</link>
	<description>mainly just another WordPress site</description>
	<lastBuildDate>Fri, 29 Mar 2013 17:30:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/msykes" /><feedburner:info uri="msykes" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>jQuery CDNs and WordPress theme conflicts</title>
		<link>http://feedproxy.google.com/~r/msykes/~3/2ExF9zc3elc/</link>
		<comments>http://msyk.es/blog/prevent-jquery-wordpress-theme/#comments</comments>
		<pubDate>Mon, 06 Aug 2012 13:01:21 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[conflicts]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://msyk.es/?p=436</guid>
		<description><![CDATA[Since the recent update of version 3.4, many users have started to experience issues with their sites not working correctly, particularly due to JavaScript features such as datepickers, autocompleters, etc. failing to work as before. For plugin developers like myself, it&#8217;s a pain in the @!+ as I&#8217;m now seeing users run into this problem [...]]]></description>
				<content:encoded><![CDATA[<p>Since the recent update of version 3.4, many users have started to experience issues with their sites not working correctly, particularly due to JavaScript features such as datepickers, autocompleters, etc. failing to work as before.</p>
<p>For plugin developers like myself, it&#8217;s a pain in the @!+ as I&#8217;m now seeing users run into this problem on a daily basis for a few weeks now, and it has become obvious that the problem in every case is the forced loading of jQuery library files from CDNs, particularly Google.</p>
<p>The aim of loading jQuery libraries from external sources is to speed up page loading time, so no wonder why theme makers jump at this quick speed upgrade.</p>
<p>However, whilst there&#8217;s nothing wrong with doing this theoretically, they way they&#8217;re going about it <strong>couldn&#8217;t be more wrong</strong>! The <a href="https://www.google.com/?q=wordpress+jquery+google+cdn" target="_blank">various misleading posts circulating the web</a> are most likely the cause of such a widespread problem, and now we&#8217;re starting to see the consequences as time passes.<span id="more-436"></span></p>
<h2>Why is this wrong?</h2>
<p>As I mentioned above, there&#8217;s nothing wrong with loading files from a CDN, however, there&#8217;s two major things themes do wrong:</p>
<p>The first major issue is that I have yet to see a theme that does this load the latest jQuery version used by WordPress! This presents a load of problems because other plugins that rely on the jQuery library are forced to use outdated libraries which may conflict with some of the code written with later library versions in mind.</p>
<p>The second major mistake is that they&#8217;re taking it upon themselves to do this in the first place. My opinion is that themes have no place in messing with the jQuery libraries and WordPress dependencies. Themes should must take into account that plugins will be installed, and these plugins should have access to the standard libraries provided by WordPress.</p>
<h2>How can I check if I have this problem?</h2>
<p>The major browsers these days all have their own code viewers which makes it easy to check which scripts are loaded. The screenshots below show how this is done in Google Chrome, which is also similar to doing this with FireFox and the Firebug extension.</p>
<p>To bring up the developer window, right click anywhere on the webpage and the click on &#8216;Inspect Element&#8217;. You&#8217;ll see a window appear similar to the one below, click the <em>Sources </em>(in FireBug it&#8217;s <em>Scripts</em>) tab, and look at your scripts there:</p>
<p><a href="http://d3k3xf1ql4fee6.cloudfront.net/wp-content/uploads/2012/08/jquery-google-cdn-wrong.png"><img class="alignnone size-full wp-image-453" title="Spot an outdated version of jQuery" src="http://d3k3xf1ql4fee6.cloudfront.net/wp-content/uploads/2012/08/jquery-google-cdn-wrong.png" alt="" width="610" height="297" /></a></p>
<p>As you can see, the location of the jquery.js file is on the Google server, and clicking on that file shows you the contents which includes the version number (it&#8217;s also usually in the URL). In this case, the theme is loading jQuery 1.4.4.</p>
<h2>Where does my theme do this, and how do I fix it?</h2>
<p>This is the most common question I get these days, which is what inspired this post. Thankfully, the approaches taken by most theme are the same, or similar therefore easy to identify. Unfortunately, not all will be so lucky.</p>
<p>In either case, when trying to find the location of where this is done, you&#8217;ll need to use search functions in your text editors.</p>
<h3>Typical &#8211; functions.php</h3>
<p>This is the usual situation.</p>
<pre class="brush: php; title: ; notranslate">
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', false, '1.4.4');
wp_enqueue_script('jquery');
</pre>
<p>The solution is easy though, just delete it! WordPress will then start loading its own copy of the jQuery library.</p>
<h3>Worse &#8211; header.php</h3>
<p>Less often, but astoundingly too often, some themes go ahead and hard-code the jQuery file with pure html similar to:</p>
<pre class="brush: xml; title: ; notranslate">&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js&quot; /&gt;</pre>
<p>This is worse because it goes against the whole dependency system WordPress uses to load the right scripts during the wp_head() function executed usually within the header.php file.</p>
<p>The fix involves one to three steps (depending on how many mistakes your theme maker made):</p>
<p><strong>Step 1 -</strong> Remove the line above.</p>
<p><strong>Step 2 (if step 1 fails)</strong> &#8211; Your theme may be doing something even naughtier which is failing to include the wp_head() PHP function in your document head, meaning plugins like Events Manager can&#8217;t include its own javascript files. Try replacing the line you just deleted with this:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php wp_head(); ?&gt;</pre>
<p><strong>Step 3 (if Step 2 fails) - </strong>If you had to add wp_head(), chances are you&#8217;ll need to add wp_footer() too, which is done within your footer.php file above the body closing HTML tag.</p>
<p><strong>The upside once you fix this </strong>is that your theme will now work with more plugins. However, if you had to do step 2 or 3, you may want to reconsider where you get your themes from (if you made it yourself, lesson learnt i hope!).</p>
<h3>Worst of all &#8211; unknown</h3>
<p>Your theme maker decided to get uber fancy and demonstrate their skills by making this modification somewhere in the myriad of custom included files. Your best bet is to use a search tool and look at all your theme files for words like jquery or google.com. Chances are if the mod isn&#8217;t done in your header.php file, they used the method for the function.php file.</p>
<p>If your theme has found another ingenious way of doing this&#8230; I&#8217;d say your theme is too smart to be used on WordPress, save yourself the headache and move on.</p>
<h2>The &#8216;Right Way&#8217; to host external libraries</h2>
<p>Whilst there&#8217;s more ways than one to do this, the two most sensible ways to do this are:</p>
<ul>
<li>Use a plugin that does this for you, such as <a href="http://wordpress.org/extend/plugins/use-google-libraries/" target="_blank">Use Google Libraries</a> and makes sure the right jQuery version is loaded according to your WP version.</li>
<li>Host all your javascript, css, image and other files on a CDN such as Amazon S3 or CloudFront. It&#8217;s cheap and effective. Caching plugins such as <a href="http://wordpress.org/extend/plugins/wp-super-cache/" target="_blank">Super Cache</a> or <a href="http://wordpress.org/extend/plugins/w3-total-cache/" target="_blank">W3 Total Cache</a> make this very easy to set up and are well documented.</li>
</ul>
<p>Between the two, if you can make use of minify functions (W3TC has this function) to merge all js files into one cached file, then the best choice is the second one if your end goal is increasing your page speeds and/or reducing your server load. However, if you&#8217;re on a budget, or you&#8217;re having issues minifying your scripts with caching plugins then <em>Use Google Libraries</em> will still help a lot and is highly recommended.</p>
<p>As you can see, these have nothing to do with your theme, as it should be!</p>
<img src="http://feeds.feedburner.com/~r/msykes/~4/2ExF9zc3elc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://msyk.es/blog/prevent-jquery-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://msyk.es/blog/prevent-jquery-wordpress-theme/</feedburner:origLink></item>
		<item>
		<title>My new home…..</title>
		<link>http://feedproxy.google.com/~r/msykes/~3/MUA5qbhhGh0/</link>
		<comments>http://msyk.es/blog/my-new-home/#comments</comments>
		<pubDate>Sun, 01 Jul 2012 22:00:28 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[themes]]></category>

		<guid isPermaLink="false">http://msyk.es/?p=420</guid>
		<description><![CDATA[Blogging is no easy task! It takes time, dedication and consistency. I started a blog on netweblogic.com, which started falling behind as other priorities took over. It&#8217;s been over a year, and an ageing blog theme did nothing to motivate me. It has gotten to the point that it made sense to split my posts [...]]]></description>
				<content:encoded><![CDATA[<p>Blogging is no easy task! It takes time, dedication and consistency. I started a blog on netweblogic.com, which started falling behind as other priorities took over. It&#8217;s been over a year, and an ageing blog theme did nothing to motivate me.<span id="more-420"></span></p>
<p>It has gotten to the point that it made sense to split my posts from any company blogs and move it over to a personal space. I hope to find the time to write more, particularly tidbits, tips and tricks on my day to day work with web technologies, along with the possibility of a rant or two about something or other.</p>
<p>So&#8230; I&#8217;m almost starting from scratch. All my posts on netweblogic.com have been moved over. I may have lost some comments in the process (which is why you shouldn&#8217;t go with plugins like Disqus), but if more content is produced as a result this move, then it will be worth it.</p>
<h2>Under the Hood</h2>
<p>I&#8217;m a fan of simplicity, as well as not re-inventing the wheel (especially when you can improve it!), so I&#8217;ve gone with the lovely Elegant Themes Modest theme with some minimal CSS changes, which does what it says in the box, and will allow more focus to be placed on the content. I may even take it a step further and simplify it even more by removing unnecessary scripts, fonts, etc.</p>
<p>Welcome to my new online home. Don&#8217;t expect regular posts anytime soon, but hey, that&#8217;s the goal and this is the first step <img src='http://d3k3xf1ql4fee6.cloudfront.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/msykes/~4/MUA5qbhhGh0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://msyk.es/blog/my-new-home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://msyk.es/blog/my-new-home/</feedburner:origLink></item>
		<item>
		<title>Redirect users from WordPress admin pages</title>
		<link>http://feedproxy.google.com/~r/msykes/~3/75vfjfEPvRg/</link>
		<comments>http://msyk.es/blog/redirect-users-wordpress-admin-pages/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 09:39:59 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://netweblogic.com/?p=351</guid>
		<description><![CDATA[After some time looking at the various user-restriction/membership style plugins, I realized that there wasn&#8217;t a quick and easy way to ban normal users from all of the wp-admin pages. Fortunately, wordpress makes this sort of customization easy with its amazing API. These four lines of code are all that&#8217;s needed: You can get this [...]]]></description>
				<content:encoded><![CDATA[<p>After some time looking at the various user-restriction/membership style plugins, I realized that there wasn&#8217;t a quick and easy way to ban normal users from all of the wp-admin pages.</p>
<p>Fortunately, wordpress makes this sort of customization easy with its amazing API. These four lines of code are all that&#8217;s needed:<br />
<span id="more-351"></span></p>
<pre class="brush: php; title: ; notranslate">
function my_wp_admin_ban(){
	if( !current_user_can('activate_plugins') ){
		wp_redirect( get_bloginfo('wpurl') );
		exit;
	}
}
add_action('admin_init','my_wp_admin_ban');
</pre>
<p>You can get this working in two ways:</p>
<ol>
<li>Copy the contents above into a file named wp-admin-ban.php (put them between <?php these tags ?>) and move it to wp-contents/mu-plugins folder. If the <a href="http://wpmututorials.com/basics/what-is-the-mu-plugins-folder/" target="_blank">mu-plugins folder</a> doesn&#8217;t exist, create it. This will be available across any theme on your site.</li>
<li>Copy the code to your theme&#8217;s functions.php file, which restricts functionality to that theme.</li>
</ol>
<p>If you can think of a good membership plugin on the wordpress repo that does the trick, feel free to drop me a line!</p>
<p>On that note, here&#8217;s two plugins you might find useful:</p>
<ul>
<li>My own <a title="ajax login with wordpress" href="http://wordpress.org/extend/plugins/login-with-ajax/" target="_blank">ajax login</a> plugin so users can log in and register with smooth ajax effects from the front of your site!</li>
<li><a href="http://premium.wpmudev.org/project/membership" target="_blank">Membership Plugin</a> If you&#8217;re looking for a good premium membership plugin with great support (personally recommended, tried a few others before it). They also have a lite free version for you to try out.</li>
</ul>
<img src="http://feeds.feedburner.com/~r/msykes/~4/75vfjfEPvRg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://msyk.es/blog/redirect-users-wordpress-admin-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://msyk.es/blog/redirect-users-wordpress-admin-pages/</feedburner:origLink></item>
		<item>
		<title>Cursor Trail</title>
		<link>http://feedproxy.google.com/~r/msykes/~3/txJpHdyIaiM/</link>
		<comments>http://msyk.es/blog/cursor-trail/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 15:30:22 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[valentines]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://netweblogic.com/?p=343</guid>
		<description><![CDATA[This is a pretty simple plugin and probably as useless as they get! This was inspired by David Walsh&#8217;s MooTools implementation. Check out his demo to see functionality, it&#8217;s the same thing except you can control the fade speed and cursor image, as long with start/end dates for special occasions. Activate it for Valentines Day [...]]]></description>
				<content:encoded><![CDATA[<p>This is a pretty simple plugin and probably as useless as they get!</p>
<p>This was inspired by David Walsh&#8217;s MooTools implementation. <a href="http://davidwalsh.name/dw-content/mouse-trailer.php" target="_blank">Check out his demo</a> to see functionality, it&#8217;s the same thing except you can control the fade speed and cursor image, as long with start/end dates for special occasions.</p>
<p>Activate it for Valentines Day for a special surprise, if that&#8217;s today you&#8217;ll know what I mean <img src='http://d3k3xf1ql4fee6.cloudfront.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://d3k3xf1ql4fee6.cloudfront.net/wp-content/uploads/2011/02/cursor-trail.zip">Download it here!</a><span id="more-343"></span></p>
<h3>Installation</h3>
<p>Download the zip file, and either:</p>
<ul>
<li>Unzip and upload the cursor-tril folder to your plugins directory, then activate in your plugins page.</li>
<li>Upload via the add new plugin feature in your admin area.</li>
</ul>
<img src="http://feeds.feedburner.com/~r/msykes/~4/txJpHdyIaiM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://msyk.es/blog/cursor-trail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://msyk.es/blog/cursor-trail/</feedburner:origLink></item>
		<item>
		<title>Single string with multiple translations</title>
		<link>http://feedproxy.google.com/~r/msykes/~3/8rhRRjDKI68/</link>
		<comments>http://msyk.es/blog/single-string-multiple-translations/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 23:34:28 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://netweblogic.com/?p=321</guid>
		<description><![CDATA[Multilingual wordpress sites are not as straight-foward to create as you may think (unless you&#8217;re using multi-site). There are various plugins that make this easier, although they all lack something or other (my favourite is qTranslate so far). It gets tricky when you add custom text to sidebars, other plugins, or your themes. It&#8217;s not [...]]]></description>
				<content:encoded><![CDATA[<p>Multilingual wordpress sites are not as straight-foward to create as you may think (unless you&#8217;re using multi-site). There are various plugins that make this easier, although they all lack something or other (my favourite is <a href="http://wordpress.org/extend/plugins/qtranslate/">qTranslate</a> so far). It gets tricky when you add custom text to sidebars, other plugins, or your themes. It&#8217;s not really the fault of the translation plugins either, because it&#8217;s literally impossible to reliably force plugin outputs to be translated in a user-friendly manner.<span id="more-321"></span></p>
<p>I came across a problem like this where a custom theme I made needed to accommodate the multilingual capabilities of qTranslate for some small snippets of text here and there which could be added in the theme options page (e.g. address, slogans etc.). The amount of work that would be required to make a multilingual options page was not justifiable for the project. So&#8230;. I came up with a pretty simple solution which I&#8217;m sure others can easily use in their plugins and themes:</p>
<p>Basically, if used, you can pass along text wrapped in curly bracket tags, much like html except the tags use curly brackets and the tag names are the language code(e.g. en_US, de_DE, fr_FR). The result is that you could add this to a text box:</p>
<p><code>{en_US}english text{/en_US}{fr_FR}french text{/fr_FR}</code></p>
<p>With the above string the function will choose the correct language based on the current wordpress locale, and if that doesn&#8217;t exist, revert to the first language in the string. This is also compatible with non-translated strings. Whilst not ideal for a whole post, this would definitely come in handy for smaller snippets of text, such as widget titles, theme texts, etc. where fully fledged translation functionality is not needed.</p>
<p>Without further ado, here is the function:</p>
<pre class="brush: php; title: ; notranslate">
/**
 * Separates a string by {lang_code}{/lang_code} 
 * style wrappers and returns the desired locale. If the locale 
 * parameter is empty, function will use default locale (e.g. en_US).
 * If no local is matched, the first language is used. If no brackets 
 * are enclosed, the $string param is returned as is.
 * @param $string
 * @param $locale
 * @return string
 */
function ml_string($string, $locale = ''){
	$locale = ($locale == '') ? get_locale():$locale;
	//Do a regex and extract all text within braces
	$matches = array();
	preg_match_all('/{([a-zA-Z_]{5})}([^{]+){/[a-zA-Z_]{5}}/', $string, $matches);
	if( count($matches[0]) &amp;amp;amp;gt; 0 ){
		//Check if the language we want exists, if not we take the first language there
		foreach($matches[1] as $key =&amp;amp;amp;gt; $lang){
			if ($lang == $locale) {
				return $matches[2][$key];
			}
		}
		return $matches[2][0];
	}
	return $string;
}
</pre>
<img src="http://feeds.feedburner.com/~r/msykes/~4/8rhRRjDKI68" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://msyk.es/blog/single-string-multiple-translations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://msyk.es/blog/single-string-multiple-translations/</feedburner:origLink></item>
		<item>
		<title>Adding &amp; Removing Allowed FileTypes To WordPress Media Library</title>
		<link>http://feedproxy.google.com/~r/msykes/~3/tYXAMISBvkQ/</link>
		<comments>http://msyk.es/blog/adding-removing-allowed-filetypes-wordpress-media-library/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 08:00:59 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://netweblogic.com/?p=315</guid>
		<description><![CDATA[WordPress has a set of restricted filetypes it will allow you to upload via the media library. Whilst this is a great security feature, there may be times where you&#8217;d like to add other files that are restricted by default, or maybe even the opposite where you&#8217;d only like to allow a few extensions to [...]]]></description>
				<content:encoded><![CDATA[<p>WordPress has a set of restricted filetypes it will allow you to upload via the media library. Whilst this is a great security feature, there may be times where you&#8217;d like to add other files that are restricted by default, or maybe even the opposite where you&#8217;d only like to allow a few extensions to be uploaded. Fortunately, WordPress makes this dead easy with a small snippet of PHP code.<span id="more-315"></span></p>
<p>If you&#8217;d like to add or remove a specific filetype that can be uploaded to wordpress via the media library, you can insert this PHP code in your theme functions.php file:</p>
<pre class="brush: php; title: ; notranslate">
function my_myme_types($mime_types){
	//Adjust the $mime_types, which is an associative array where the key is extension and value is mime type.
	return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);
</pre>
<p>Here is an example of what you can do to add and remove a new filetype (in this example, I&#8217;m adding an extension that already exists, but the concept is the same):</p>
<pre class="brush: php; title: ; notranslate">
function my_myme_types($mime_types){
	$mime_types['avi'] = 'video/avi'; //Adding avi extension
	unset($mime_types['pdf']); //Removing the pdf extension
	return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);
</pre>
<p>You can also reset the allowed filetypes by creating a new array within the function and returning these values:</p>
<pre class="brush: php; title: ; notranslate">
function my_myme_types($mime_types){
	//Creating a new array will reset the allowed filetypes
	$mime_types = array(
		'jpg|jpeg|jpe' =&gt; 'image/jpeg',
		'gif' =&gt; 'image/gif',
		'png' =&gt; 'image/png',
		'bmp' =&gt; 'image/bmp',
		'tif|tiff' =&gt; 'image/tiff'
	);
	return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);
</pre>
<p>If you&#8217;d like to see what filetypes are currently supported by wordpress, check out the function <code>get_allowed_mime_types</code> located in the <code>wp-includes/functions.php</code> file.</p>
<img src="http://feeds.feedburner.com/~r/msykes/~4/tYXAMISBvkQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://msyk.es/blog/adding-removing-allowed-filetypes-wordpress-media-library/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://msyk.es/blog/adding-removing-allowed-filetypes-wordpress-media-library/</feedburner:origLink></item>
		<item>
		<title>Choosing the right WordPress plugins</title>
		<link>http://feedproxy.google.com/~r/msykes/~3/Nb10IlsxNV4/</link>
		<comments>http://msyk.es/blog/choosing-wordpress-plugins/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 14:13:42 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://netweblogic.com/?p=312</guid>
		<description><![CDATA[When choosing WordPress plugins, you need to keep in mind that these are open source, therefore each plugin is maintained by someone for free. Choosing the right plugin may be an important decision and if you think long-term you may save yourself some headaches in the future.]]></description>
				<content:encoded><![CDATA[<p>When choosing WordPress plugins, you need to keep in mind that these are open source, therefore each plugin is maintained by someone for free, so some plugins are made by people that aren&#8217;t experienced coders (which may result in the plugin preventing your site from loading), or may not have time or resources to maintain the plugin to keep up with new WordPress releases.</p>
<p>This becomes especially important when considering the crucial and complex plugins that make your site work the way you need, as finding a replacement in the future may be prove to be much more laborious than doing a little due diligence beforehand. Imagine, for example, if your photo gallery stopped working when you upgrade to the latest version of WordPress!</p>
<p>Due to this, it&#8217;s important to take certain things into consideration when choosing a plugin, and if keep these in mind you&#8217;ll probably find that your selected plugins get updated with the new WP releases and are regularly improved. There&#8217;s lots of factors that you need to consider when choosing a plugin. Below are some of the major things to think about:<span id="more-312"></span></p>
<p><strong> How times has this plugin been downloaded?</strong></p>
<p>Check the stats tab on the plugin page (or see the downloads number when searching through plugin lists). This is important because popular plugins are more likely to be maintained and updated by the author if it&#8217;s popular. Do remember to look and see if the plugin is new, as quality plugins are created regularly and that may explain lower download numbers.</p>
<p><strong>How many ratings does it have?</strong></p>
<p>Ratings lower than 4 need to be examined carefully, as there might be something wrong with the plugin. Keep in mind that some plugins may be very good but a disgruntled and impatient user may have given it a bad rating and lowered the average overall rating to give it the impression of being a terrible plugin. As a developer of plugins myself, I can sympathize with that! Don&#8217;t let a low number of ratings fool you though, usually a plugin has to be very popular to get many feedbacks.</p>
<p><strong>What version of wordpress does it support?</strong></p>
<p><strong> </strong>If the plugin author doesn&#8217;t update the plugin for a long time, it will be outdated and might not work with the latest versions of wordpress. Generally, if a plugin works with version 2.8 onwards there is a high probability it works with the current versions of wordpress (3.0 at time of writing). Note that often a plugin works perfectly well on the latest version, but the author never updated the plugin details to reflect this (can be time consuming if you author many plugins).</p>
<p><strong>When was it last updated?</strong></p>
<p><strong></strong>If it&#8217;s not updated recently, it may be that the author won&#8217;t improve it further and in the long term it might not work anymore. If you see a plugin hasn&#8217;t been updated for over a year, you can probably assume that it&#8217;s not being maintained anymore and there&#8217;s a good chance it won&#8217;t continue working on WordPress for much longer (if it doesn&#8217;t already break your site). As I said previously though, plugins that work in 2.8 and up have a high chance of still working, especially the less complex ones.</p>
<p><strong>What are people saying in the support forums?</strong></p>
<p><strong></strong>On the plugin page you&#8217;ll see on the bottom of the right sidebar recent forum posts, if people have problems they might post a complaint there. Popular plugins may often have their own support forums too, so check there as well. It&#8217;s also good indicator if the author responds to the complaints and feedback, that means they&#8217;re listening and have interest in maintaining the plugin.</p>
<p><strong>Does the plugin author have a dedicated plugin page?</strong></p>
<p>If the plugin has a dedicated page on another website, there is usually a higher chance of the plugin being supported regularly by the author.</p>
<p><strong>Has the author produced any other quality plugins?</strong></p>
<p>This is especially important when you are considering a new plugin. If the author has other plugins that are popular and well received, chances are their new plugin will be of similar quality.</p>
<p>Keep in mind that a plugin isn&#8217;t necessarily bad if it doesn&#8217;t meet all these criteria, but from my experience,  plugins that fulfill more of the criteria above have a higher chance of being a great plugin. However, that doesn&#8217;t mean that every plugin must meet these&#8230;. as I said, these plugins are provided for free by hard-working developers. I strive to maintain all my plugins, but it&#8217;s not uncommon for me to not update a plugin&#8217;s list of supported WP versions for example.</p>
<img src="http://feeds.feedburner.com/~r/msykes/~4/Nb10IlsxNV4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://msyk.es/blog/choosing-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://msyk.es/blog/choosing-wordpress-plugins/</feedburner:origLink></item>
		<item>
		<title>Security is Relative</title>
		<link>http://feedproxy.google.com/~r/msykes/~3/injLs70AeRg/</link>
		<comments>http://msyk.es/blog/security-is-relative/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 17:25:14 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://netweblogic.com/?p=271</guid>
		<description><![CDATA[Matt posted a small bit regarding the recent alert NetworkSolutions put up claiming that there was a vulnerability (not giving a link either, undeserved). Turns out that the issue had nothing to do with wordpress, and more to do with their file permissions. His aptly titled post, Secure File Permissions Matter raises a good point [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://ma.tt" target="_blank">Matt</a> posted a small bit regarding the recent alert NetworkSolutions put up claiming that there was a vulnerability (not giving a link either, undeserved). Turns out that the issue had nothing to do with wordpress, and more to do with their file permissions. His aptly titled post, <a href="http://wordpress.org/development/2010/04/file-permissions/" target="_blank">Secure File Permissions Matter</a> raises a good point about security in general&#8230;. your site is as secure as your server, which is actually as secure as where your server is kept.<span id="more-271"></span></p>
<p>If you think about it, what stops someone from logging in locally to your server and grabbing your passwords stored on file? The answer is a secure data center. I recently read a confession on reddit (can&#8217;t remember the link) where a convicted hacker goes &#8220;public&#8221; and shares some of his experiences. One thing that really hit home is that when he prepares to attack a high value target, he often gets in by accessing an insecure pc of a user that has access to the actual target. See&#8230;. security is relative.</p>
<p>So when you think about website security, don&#8217;t just think about the website itself, think about other entry points too, online and offline. Unnecessary open ports, public phpMyAdmin access and so many other factors can leave you open to attacks.</p>
<p>The point of this post is just to show some support to the WP team for doing such a great job, and highlight that should your blog ever get hacked don&#8217;t jump to conclusions. NetworkSolutions did and are now looking pretty silly for doing so. By the way, they haven&#8217;t admitted being at fault in their blog, which ironically is powered by guess what?!</p>
<p>Compromised security could be due to a plethora of possibilities; insecure file permissions, an old server OS not updated to fix security loopholes, packet sniffers for unencrypted logins or even something as simple as leaving yourself logged in at a public PC. I&#8217;m not saying WordPress is perfect and there are no potential security holes, but then again you can&#8217;t say that for any piece of software, so give them a break and the benefit of the doubt!</p>
<img src="http://feeds.feedburner.com/~r/msykes/~4/injLs70AeRg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://msyk.es/blog/security-is-relative/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://msyk.es/blog/security-is-relative/</feedburner:origLink></item>
		<item>
		<title>WordPress 3 Beta 1 – A look into the new features</title>
		<link>http://feedproxy.google.com/~r/msykes/~3/WV9x9cOWb-c/</link>
		<comments>http://msyk.es/blog/wordpress-3-beta-1-features/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 14:36:46 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[beta]]></category>

		<guid isPermaLink="false">http://netweblogic.com/?p=268</guid>
		<description><![CDATA[Quick bird's eye view on the WP3.0 Beta 1 and what's to come in the new Wordpress 3.0]]></description>
				<content:encoded><![CDATA[<p>I had a chance to install the recently released WordPress 3 Beta 1 onto my PC and I thought I&#8217;d highlight some of the most notable (in my opinion at least) new features that you can expect. For a more comprehensive list of improvements, head on over the <a href="http://codex.wordpress.org/Version_3.0" target="_blank">3.0 features page on the  Wordpress Codex</a><span id="more-268"></span></p>
<ul>
<li>Most significant &#8211; merge with <a href="http://mu.wordpress.org" target="_blank">WordPress MU</a>, which means everyone (with the right hosting setup) will be able to host more than one blog instance off one installation. More on that soon&#8230;.</li>
<li>Installation
<ul>
<li>Admin passwords are now set during installation.</li>
</ul>
</li>
<li>Add/Edit Post/Page Improvements
<ul>
<li>Ability to add a featured image to a post or page</li>
<li>Post Types : you can now &#8220;categorize&#8221; your posts even further by giving them post type attributes and adding further meta data on top of that via taxonomies. Currently, WP3.0 Beta 1 does not offer a UI for this, but have a look at the <a href="http://wordpress.org/extend/plugins/custom-post-type-ui/" target="_blank">Custom Post Type UI</a> plugin and watch the video on that page for a good grasp of what&#8217;s possible.</li>
</ul>
</li>
<li>Themes
<ul>
<li>Menu management. You can now completely sort your menu including adding category pages, external links. If you&#8217;d like something to make your menu sorting easy for 2.x page menus, try out <a href="http://wordpress.org/extend/plugins/pagemash/" target="_blank">pageMash</a> (only allows sorting of your pages, but has a similar concept to the 3.0 functionality).</li>
<li>New default theme, Twenty Ten, which is now the only bundled theme. Old themes still available from the built in theme installer.</li>
</ul>
<ul>
<li>Custom templates for post types and individual authors.</li>
</ul>
</li>
<li>Plugins
<ul>
<li>When adding a plugin, the list of plugins now has a details and install now link on the right hand side. Previously, this was one link that went to the author plugin page. Nice for us plugin developers but not very intuitive for users (and power users like myself)</li>
</ul>
</li>
</ul>
<p>All I can say about 3.0 is so far so good! I look forward to further Betas</p>
<img src="http://feeds.feedburner.com/~r/msykes/~4/WV9x9cOWb-c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://msyk.es/blog/wordpress-3-beta-1-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://msyk.es/blog/wordpress-3-beta-1-features/</feedburner:origLink></item>
		<item>
		<title>Disable User Gravatar</title>
		<link>http://feedproxy.google.com/~r/msykes/~3/KuKuLKYntDA/</link>
		<comments>http://msyk.es/blog/disable-user-gravatar/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 12:51:29 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://netweblogic.com/?p=264</guid>
		<description><![CDATA[[wp-readme-parser url="http://svn.wp-plugins.org/disable-user-gravatar/trunk/readme.txt" download="http://downloads.wordpress.org/plugin/disable-user-gravatar.zip"]]]></description>
				<content:encoded><![CDATA[<p>[wp-readme-parser url="http://svn.wp-plugins.org/disable-user-gravatar/trunk/readme.txt" download="http://downloads.wordpress.org/plugin/disable-user-gravatar.zip"] </p>
<img src="http://feeds.feedburner.com/~r/msykes/~4/KuKuLKYntDA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://msyk.es/blog/disable-user-gravatar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://msyk.es/blog/disable-user-gravatar/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 2/16 queries in 0.024 seconds using disk: basic
Object Caching 1095/1188 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d3k3xf1ql4fee6.cloudfront.net

 Served from: msyk.es @ 2013-03-30 14:16:08 by W3 Total Cache -->
