<?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>Bit Repository</title>
	<atom:link href="http://www.bitrepository.com/feed" rel="self" type="application/rss+xml" />
	<link>https://www.bitrepository.com</link>
	<description>WordPress, Page Speed &#38; Security, Web Resources</description>
	<lastBuildDate>Thu, 09 Aug 2018 15:49:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Disable Emojis in WordPress 4.2+ For a Faster Page Load</title>
		<link>https://www.bitrepository.com/disable-emojis-wordpress-faster-page-load.html</link>
					<comments>https://www.bitrepository.com/disable-emojis-wordpress-faster-page-load.html#comments</comments>
		
		<dc:creator><![CDATA[Gabriel Livan]]></dc:creator>
		<pubDate>Sat, 12 Mar 2016 20:24:10 +0000</pubDate>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.gabelivan.com/?p=16903</guid>

					<description><![CDATA[<p>As of WordPress 4.2, a new feature was introduced that allows you to use the new emojis (the tiny smiley icons). While on some WordPress setups is useful, in many situations, especially when you are not using WordPress as a blog, you just don't need them and the file <code>/wp-includes/js/wp-emoji-release.min.js</code> is loaded along with extra inline JavaScript code. </p>
<p>As I want my page to load as fast as possible and have the HTML code clean when analysing the source code (as a developer), I'd rather have all that extra code removed, especially since it loads on every page of my website. There are 2 ways in which you can do that. We'll start with the most convenient one:</p>
<h3>1) <a href="https://wordpress.org/plugins/disable-emojis/">Disable Emojis</a> plugin</h3>
<p><a href="https://wordpress.org/plugins/disable-emojis/"><img src="http://www.bitrepository.com/wp-content/uploads/2016/03/disable-emojis-plugin.jpeg" alt="disable emojis plugin" title="disable emojis plugin" style="width: 100%; height: auto;" class="alignnone stylish size-full wp-image-16904" /></a><br />
This is the quickest way to do that and emoji's will still work in browsers which have built in support for them. This plugin simply removes the extra code bloat used to add support for emoji's in older browsers.<br />
<br /><a href="https://www.bitrepository.com/disable-emojis-wordpress-faster-page-load.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+bitrepository+%28BIT+Repository%29&#038;utm_content=FeedBurner#more-16903">Read the rest of this entry...</a></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/disable-emojis-wordpress-faster-page-load.html">Disable Emojis in WordPress 4.2+ For a Faster Page Load</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">As of WordPress 4.2, a new feature was introduced that allows you to use the new emojis (the tiny smiley icons). While on some WordPress setups is useful, in many situations, especially when you are not using WordPress as a blog, you just don&#8217;t need them and the file <code>/wp-includes/js/wp-emoji-release.min.js</code> is loaded along with extra inline JavaScript code. </p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">As I want my page to load as fast as possible and have the HTML code clean when analysing the source code (as a developer), I&#8217;d rather have all that extra code removed, especially since it loads on every page of my website. There are 2 ways in which you can do that. We&#8217;ll start with the most convenient one:</p>
<h3>1) <a href="https://wordpress.org/plugins/disable-emojis/">Disable Emojis</a> plugin</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><a href="https://wordpress.org/plugins/disable-emojis/"><img fetchpriority="high" decoding="async" width="850" height="367" src="http://www.bitrepository.com/wp-content/uploads/2016/03/disable-emojis-plugin.jpeg" alt="disable emojis plugin" title="disable emojis plugin" style="width: 100%; height: auto;" class="alignnone stylish size-full wp-image-16904" srcset="https://www.bitrepository.com/wp-content/uploads/2016/03/disable-emojis-plugin.jpeg 850w, https://www.bitrepository.com/wp-content/uploads/2016/03/disable-emojis-plugin-300x130.jpeg 300w, https://www.bitrepository.com/wp-content/uploads/2016/03/disable-emojis-plugin-768x332.jpeg 768w" sizes="(max-width: 850px) 100vw, 850px" /></a><br />
This is the quickest way to do that and emoji&#8217;s will still work in browsers which have built in support for them. This plugin simply removes the extra code bloat used to add support for emoji&#8217;s in older browsers.<br />
<span id="more-16903"></span></p>
<h3>2) Use the code below</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">I prefer to edit <strong>functions.php</strong> or to have a custom plugin with snippets as the block of code is pretty small. If you are comfortable with that, here&#8217;s the code that you can use:</p>
<pre class="brush: php;">
function bit_disable_wp_emojicons() {
    // all actions related to emojis
    remove_action( 'admin_print_styles', 'print_emoji_styles' );
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
    remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
    remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
    remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );

    // filter to remove TinyMCE emojis
    add_filter( 'tiny_mce_plugins', 'bit_disable_emojicons_tinymce' );
}

add_action( 'init', 'bit_disable_wp_emojicons' );

function bit_disable_emojicons_tinymce( $plugins ) {
    if ( is_array( $plugins ) ) {
        return array_diff( $plugins, array( 'wpemoji' ) );
    } else {
        return array();
    }
}
</pre>
<div class="bit-note bit-note-info">
Note: If you prefer to have the old smilies from previous WordPress versions, while removing the new ones, you can use <a style="color: #2244BB; font-weight: bold; text-decoration: underline; padding: 2px;" href="https://wordpress.org/plugins/classic-smilies/">Classic Smilies</a> plugin.
</div>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/disable-emojis-wordpress-faster-page-load.html">Disable Emojis in WordPress 4.2+ For a Faster Page Load</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bitrepository.com/disable-emojis-wordpress-faster-page-load.html/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Win a Premium Design From TemplateMonster</title>
		<link>https://www.bitrepository.com/win-a-premium-design-for-your-online-project.html</link>
					<comments>https://www.bitrepository.com/win-a-premium-design-for-your-online-project.html#comments</comments>
		
		<dc:creator><![CDATA[Gabriel Livan]]></dc:creator>
		<pubDate>Mon, 01 Feb 2016 09:00:44 +0000</pubDate>
				<category><![CDATA[Giveaways]]></category>
		<guid isPermaLink="false">http://www.gabelivan.com/?p=16790</guid>

					<description><![CDATA[<p><a href="http://store.templatemonster.com/?aff=bitrepository"><img class="alignnone size-full wp-image-16797 stylish" title="Template Monster Giveaway" src="http://www.bitrepository.com/wp-content/uploads/2016/02/template-monster-giveaway.jpg" alt="template monster giveaway" width="820" height="468" /></a></p>
<div class="bit-note bit-note-success" style="background-color: #f2faf2;">
<div>The giveaway has ended and the winners are:</p>
<ul>
<li>Marc Bastarache: #53095</li>
<li>njenney: #55972</li>
<li>Andy: #53003</li>
</ul>
</div>
<div>They will be contacted by a representative of TemplateMonster to claim their prize.</div>
</div>
<p><span class="s1">If you are a wise, business-minded person, you will never miss a chance to get something really worthwhile for free. Do you like participating in different giveaways? This week you have a brilliant opportunity to try your luck. <b>Bit Repository</b> together with <b>TemplateMonster.com</b> offers you an opportunity to participate in the giveaway.</span></p>
<p class="p1"><span class="s1"><b>What specifically is being given away?<br />
</b></span><span class="s1">The prize is <b>any</b> <b>premium template</b> of your choice from TemplateMonster. They have nearly <b>50,000</b> themes in stock covering different requirements and powered by the most popular engines.</span></p>
<ol>
<li>Would you like to build a WordPress site? Then, search for it <a href="http://www.templatemonster.com/wordpress-themes.php" target="_blank">here</a>.</li>
<li>Need a simple e-Commerce solution? Then, check out their <a href="http://www.templatemonster.com/prestashop-themes.php" target="_blank">PrestaShop designs</a>.</li>
<li>Of course you can choose any other e-Commerce platform for your store. Maybe you prefer to work with Magento, WooCommerce, OpenCart, VirtueMart or others. TemplateMonster is really able to cater to any of your needs. Visit <a href="http://www.templatemonster.com/ecommerce-templates.php" target="_blank">this page</a> to find your perfect e-Commerce theme.</li>
<li>Not sure what you are looking for? Check out <a href="http://www.templatemonster.com/?aff=bitrepository" target="_blank">here</a>. Who knows, maybe this link will lead you to your future website design.</li>
</ol>
<p class="p1"><span class="s1"><b>What should you do to win?<br />
</b></span><span class="s1">Everything is simple, as usual. You just choose the item that perfectly meets your requirements on TemplateMonster’s site and put down its number in the comment section.</span></p>
<p>The TM giveaway starts on <strong>1st February, 2016</strong>, and ends on <strong>8th February, 2016</strong> (next Monday), when 3 lucky readers will be selected as winners.</p>
<p><strong>How are the winners actually selected?</strong><br />
By running an SQL query that selects 3 random results from the comments table:<br />
<code>SELECT * FROM [comments_table] WHERE `comment_post_ID` = 16790 AND comment_approved = 1 ORDER BY RAND() LIMIT 3</code></p>
<p class="p1"><span class="s1"><b>Important!<br />
</b></span><span class="s1">Please make sure that you provide a valid e-mail address as the winners will receive notifications via them. </span><span class="s1">We wish the best of luck to all our readers. Thanks for your attention and don’t procrastinate until tomorrow, take action today! Browse TemplateMonster’s templates and make your pick!</span></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/win-a-premium-design-for-your-online-project.html">Win a Premium Design From TemplateMonster</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><a href="http://store.templatemonster.com/?aff=bitrepository"><img decoding="async" class="alignnone size-full wp-image-16797 stylish" title="Template Monster Giveaway" src="http://www.bitrepository.com/wp-content/uploads/2016/02/template-monster-giveaway.jpg" alt="template monster giveaway" width="820" height="468" srcset="https://www.bitrepository.com/wp-content/uploads/2016/02/template-monster-giveaway.jpg 820w, https://www.bitrepository.com/wp-content/uploads/2016/02/template-monster-giveaway-300x171.jpg 300w, https://www.bitrepository.com/wp-content/uploads/2016/02/template-monster-giveaway-768x438.jpg 768w" sizes="(max-width: 820px) 100vw, 820px" /></a></p>
<div class="bit-note bit-note-success" style="background-color: #f2faf2;">
<div>The giveaway has ended and the winners are:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Marc Bastarache: #53095</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">njenney: #55972</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Andy: #53003</li>
</ul>
</div>
<div>They will be contacted by a representative of TemplateMonster to claim their prize.</div>
</div>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><span class="s1">If you are a wise, business-minded person, you will never miss a chance to get something really worthwhile for free. Do you like participating in different giveaways? This week you have a brilliant opportunity to try your luck. <b>Bit Repository</b> together with <b>TemplateMonster.com</b> offers you an opportunity to participate in the giveaway.</span></p>
<p class="p1"><span class="s1"><b>What specifically is being given away?<br />
</b></span><span class="s1">The prize is <b>any</b> <b>premium template</b> of your choice from TemplateMonster. They have nearly <b>50,000</b> themes in stock covering different requirements and powered by the most popular engines.</span></p>
<ol>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Would you like to build a WordPress site? Then, search for it <a href="http://www.templatemonster.com/wordpress-themes.php" target="_blank">here</a>.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Need a simple e-Commerce solution? Then, check out their <a href="http://www.templatemonster.com/prestashop-themes.php" target="_blank">PrestaShop designs</a>.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Of course you can choose any other e-Commerce platform for your store. Maybe you prefer to work with Magento, WooCommerce, OpenCart, VirtueMart or others. TemplateMonster is really able to cater to any of your needs. Visit <a href="http://www.templatemonster.com/ecommerce-templates.php" target="_blank">this page</a> to find your perfect e-Commerce theme.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Not sure what you are looking for? Check out <a href="http://www.templatemonster.com/?aff=bitrepository" target="_blank">here</a>. Who knows, maybe this link will lead you to your future website design.</li>
</ol>
<p class="p1"><span class="s1"><b>What should you do to win?<br />
</b></span><span class="s1">Everything is simple, as usual. You just choose the item that perfectly meets your requirements on TemplateMonster’s site and put down its number in the comment section.</span></p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">The TM giveaway starts on <strong>1st February, 2016</strong>, and ends on <strong>8th February, 2016</strong> (next Monday), when 3 lucky readers will be selected as winners.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><strong>How are the winners actually selected?</strong><br />
By running an SQL query that selects 3 random results from the comments table:<br />
<code>SELECT * FROM [comments_table] WHERE `comment_post_ID` = 16790 AND comment_approved = 1 ORDER BY RAND() LIMIT 3</code></p>
<p class="p1"><span class="s1"><b>Important!<br />
</b></span><span class="s1">Please make sure that you provide a valid e-mail address as the winners will receive notifications via them. </span><span class="s1">We wish the best of luck to all our readers. Thanks for your attention and don’t procrastinate until tomorrow, take action today! Browse TemplateMonster’s templates and make your pick!</span></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/win-a-premium-design-for-your-online-project.html">Win a Premium Design From TemplateMonster</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bitrepository.com/win-a-premium-design-for-your-online-project.html/feed</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title>WP Rocket Review: Would you buy a WordPress cache plugin?</title>
		<link>https://www.bitrepository.com/wp-rocket-review-simple-easy-to-setup-cache-plugin.html</link>
		
		<dc:creator><![CDATA[Gabriel Livan]]></dc:creator>
		<pubDate>Thu, 07 Jan 2016 23:57:44 +0000</pubDate>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.gabelivan.com/?p=16676</guid>

					<description><![CDATA[<p><!-- noformat on --><a href="http://wp-rocket.me/"><img src="http://www.bitrepository.com/wp-content/uploads/2016/01/wp-rocket-intro-1024x410.jpg" alt="WP Rocket" title="WP Rocket Review" class="stylish size-large wp-image-16727" /></a><!-- noformat off --><br />
Some time ago, I got a copy of <a class="hi" href="http://wp-rocket.me/">WP Rocket</a> from the guys that developed it in order to test it and write a review about it. I was curios what this paid WordPress cache plugin has to offer in comparison with other free plugins out there, some of them very popular and used by lots of developers.<br />
<br /><a href="https://www.bitrepository.com/wp-rocket-review-simple-easy-to-setup-cache-plugin.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+bitrepository+%28BIT+Repository%29&#038;utm_content=FeedBurner#more-16676">Read the rest of this entry...</a></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/wp-rocket-review-simple-easy-to-setup-cache-plugin.html">WP Rocket Review: Would you buy a WordPress cache plugin?</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></description>
										<content:encoded><![CDATA[<a href="http://wp-rocket.me/"><img decoding="async" width="1024" height="410" src="http://www.bitrepository.com/wp-content/uploads/2016/01/wp-rocket-intro-1024x410.jpg" alt="WP Rocket" title="WP Rocket Review" class="stylish size-large wp-image-16727" srcset="https://www.bitrepository.com/wp-content/uploads/2016/01/wp-rocket-intro-1024x410.jpg 1024w, https://www.bitrepository.com/wp-content/uploads/2016/01/wp-rocket-intro-300x120.jpg 300w, https://www.bitrepository.com/wp-content/uploads/2016/01/wp-rocket-intro-768x308.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Some time ago, I got a copy of <a style="color: #2244BB; font-weight: bold; text-decoration: underline; padding: 2px;" href="http://wp-rocket.me/">WP Rocket</a> from the guys that developed it in order to test it and write a review about it. I was curios what this paid WordPress cache plugin has to offer in comparison with other free plugins out there, some of them very popular and used by lots of developers.<br />
<span id="more-16676"></span></p>
<h3>What&#8217;s the main functionality of a WordPress cache plugin?</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">WP caching plugins, either free or commercial, have the purpose of making the webpages load faster by:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Caching pages into HTML ones (so they could be read without parsing the PHP code and make queries to the database)
</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Minifying and concatenating .CSS and .JS files</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">GZIP compressing the HTML pages</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Being compatible with Content Delivery Networks in order to serve assets (images and other files) from other servers (that are often closer to the location of the person loading the website, thus taking less time to download).</li>
</ul>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">These are only a few of the features that are included in a caching plugin. As much as a like working with WordPress, being a developer myself, we all know how notoriously slow it can be sometimes if not optimised properly. Thus, all these caching plugins were developed.</p>
<h3>Is it worth paying for a cache plugin when there are other ones out there free of charge?</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">In the beginning, I thought that this looks like a waste of money and wondered why would someone pay for a cache plugin when there are lots of other ones that can be found for free out there and are very powerful. However, I was thinking with the mind of the developer that likes to download plugins, have the time to play with them, tweak what needs to be tweaked and then happily use them without thinking of the premium options out there.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">The plugin went through lots of updates in the past year and came with features that you won&#8217;t find in other cache plugins including: lazy loading, enable/disable caching on specific posts, combine google font requests into one. Besides, the interface is very simple and intuitive to use for the regular user which makes it easier to configure and it&#8217;s less likely that you will mess up something on your website. I&#8217;ve been using W3 Total Cache on my websites. It&#8217;s a good plugin, I would recommend it, but it takes you a while to understand it, especially if you&#8217;re not a developer. Plus, you don&#8217;t have any one on one support in case something goes wrong. You need to fix things yourself and since many people pay for convenience, an investment of $39 doesn&#8217;t seem much to save yourself time and other headaches.</p>
<h3>Is WP Rocket&#8217;s default caching options the best for basic websites?</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Although having the basic/default settings won&#8217;t give you the best performance, they will prevent you from messing up something on your website which is an advantage if you&#8217;re not a developer and don&#8217;t want to spend time tweaking it. Whatever caching plugin you&#8217;re using (free or paid), you have to go to the plugin&#8217;s settings and keep updating the options until you will get the optimal setup (e.g. minifying all JavaScript files into one could break something and you might have errors in the front-end. Thus, you can only minify the CSS files or minify the JavaScript ones into more than one files, which WP Rocket already does).</p>
<h3>What would be one reason for investing into this plugin?</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Having customer support when you need it. If you&#8217;re not a developer, it will help you save time and other headaches that other plugins could give you if they are not configured properly. I&#8217;ve regularly received emails and updates about WP Rocket in the past months.<br />
<a href="http://wp-rocket.me/pricing/"><img loading="lazy" decoding="async" width="1024" height="480" src="http://www.bitrepository.com/wp-content/uploads/2016/01/wp-rocket-pricing-1024x480.jpg" alt="wp rocket pricing" title="wp rocket pricing" class="stylish alignnone size-large wp-image-16725" srcset="https://www.bitrepository.com/wp-content/uploads/2016/01/wp-rocket-pricing-1024x480.jpg 1024w, https://www.bitrepository.com/wp-content/uploads/2016/01/wp-rocket-pricing-300x141.jpg 300w, https://www.bitrepository.com/wp-content/uploads/2016/01/wp-rocket-pricing-768x360.jpg 768w, https://www.bitrepository.com/wp-content/uploads/2016/01/wp-rocket-pricing.jpg 1932w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">If you&#8217;re a developer and care about the back-end side of things, I&#8217;ve also checked the quality of code.</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">What I DO Like: it follows the WordPress standards (although they are really old fashioned) and is very well organised. Moreover, it has plenty of hooks that you can use which is great as you don&#8217;t have to touch the plugin directly in case you need to make changes (in general, it&#8217;s always best to make the changes you need without touching the WordPress plugins)
</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">What I DO NOT Like: the lack of OOP code (you barely see any). Most of the code is procedural and I believe WordPress developers should focus more on the objected oriented side of things as it would make things easier for future development. Also, some of the functions have fairly common names (e.g. &#8220;rocket_init&#8221;), which could conflict with other functions name the same in either the theme or in other plugins. It&#8217;s not that likely, but you never know. It happened to me in the past to believe that I used an unique name, and to found out that it was used in other plugins as well.</li>
</ul>
<div class="bit-note bit-note-warning bg-fill">If you would like to get a copy of WP Rocket, you can use the coupon code <strong>bitrepository15</strong> for a 15% discount. This coupon code is only available for the first 15 customers.</div>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/wp-rocket-review-simple-easy-to-setup-cache-plugin.html">WP Rocket Review: Would you buy a WordPress cache plugin?</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Remove unused scripts &#038; styles on WordPress pages &#124; For faster load</title>
		<link>https://www.bitrepository.com/remove-unused-scripts-styles-wordpress-pages.html</link>
					<comments>https://www.bitrepository.com/remove-unused-scripts-styles-wordpress-pages.html#comments</comments>
		
		<dc:creator><![CDATA[Gabriel Livan]]></dc:creator>
		<pubDate>Thu, 03 Dec 2015 16:12:05 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.gabelivan.com/?p=15910</guid>

					<description><![CDATA[<p>Some time ago, I mentioned about <a href="https://wordpress.org/plugins/plugin-organizer/">Plugin Organizer</a> and the benefits of loading plugins on pages when we only need them as we want to decrease page size and make our WordPress pages load faster, especially if we use a cache plugin such as <a href="https://wordpress.org/plugins/w3-total-cache/">W3 Total Cache</a>.</p>
<p>However, there are situations when we need a plugin on a page or we use a theme, but some of the CSS and JavaScript files are not needed. Imagine a contact page where you only have some text and a form and you are using a theme that loads plenty of useless CSS and JavaScript files. Not ideal for our website visitors that should enjoy a faster page load.</p>
<p>I've decided to write my first official free plugin and share it with the WordPress community.</p>
<p><a class="hi" href="https://wordpress.org/plugins/wp-asset-clean-up/">WP Asset Clean Up</a> scans the page you're editing, detects the loaded scripts and styles and shows them in a list where you can choose the ones that you don't want to load.<br />
<br /><a href="https://www.bitrepository.com/remove-unused-scripts-styles-wordpress-pages.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+bitrepository+%28BIT+Repository%29&#038;utm_content=FeedBurner#more-15910">Read the rest of this entry...</a></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/remove-unused-scripts-styles-wordpress-pages.html">Remove unused scripts &#038; styles on WordPress pages | For faster load</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Some time ago, I mentioned about <a href="https://wordpress.org/plugins/plugin-organizer/">Plugin Organizer</a> and the benefits of loading plugins on pages when we only need them as we want to decrease page size and make our WordPress pages load faster, especially if we use a cache plugin such as <a href="https://wordpress.org/plugins/w3-total-cache/">W3 Total Cache</a>.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">However, there are situations when we need a plugin on a page or we use a theme, but some of the CSS and JavaScript files are not needed. Imagine a contact page where you only have some text and a form and you are using a theme that loads plenty of useless CSS and JavaScript files. Not ideal for our website visitors that should enjoy a faster page load.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">I&#8217;ve decided to write my first official free plugin and share it with the WordPress community.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><a style="color: #2244BB; font-weight: bold; text-decoration: underline; padding: 2px;" href="https://wordpress.org/plugins/wp-asset-clean-up/">WP Asset Clean Up</a> scans the page you&#8217;re editing, detects the loaded scripts and styles and shows them in a list where you can choose the ones that you don&#8217;t want to load.<br />
<span id="more-15910"></span></p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><a href="https://wordpress.org/plugins/wp-asset-clean-up/"><img loading="lazy" decoding="async" style="background-color:#F7F5F7; border:1px solid #E5E5E5; margin:10px 0; padding:5px; -moz-border-radius: 5px;" border="0" class="aligncenter stylish size-full wp-image-16587" title="wp asset clean up background" src="http://www.bitrepository.com/wp-content/uploads/2015/12/wp-asset-clean-up-background.jpg" alt="wp asset clean up background" width="819" height="434" srcset="https://www.bitrepository.com/wp-content/uploads/2015/12/wp-asset-clean-up-background.jpg 1508w, https://www.bitrepository.com/wp-content/uploads/2015/12/wp-asset-clean-up-background-300x159.jpg 300w, https://www.bitrepository.com/wp-content/uploads/2015/12/wp-asset-clean-up-background-1024x543.jpg 1024w" sizes="auto, (max-width: 819px) 100vw, 819px" /></a></p>
<h3>What are the benefits of using this plugin?</h3>
<ul class="ok">
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">The HTTP requests on your website will decrease thus saving you bandwidth (good, if you don&#8217;t have unlimited with your host) and your pages will load faster</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">In case there are conflicts between scripts (from plugins/themes) that are loading on the same page, you can remove the ones that you don&#8217;t need, thus minimising the risk of JavaScript errors. If you&#8217;re a developer, you know how much headache you can have when you&#8217;re debugging errors on a page that have 20 .js files loaded from various plugins (and you only need 5 of them).</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">The HTML source code will be smaller, cleaner and easier to read when you&#8217;ll need to find something.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">The Apache log files will also be smaller and easier to read since less requests will be made to the server.</li>
</ul>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">This plugin is powerful in combination with a cache plugin that also combines the remaining loaded assets (.css and .js files) to minimize the number of HTTP requests.</p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/remove-unused-scripts-styles-wordpress-pages.html">Remove unused scripts &#038; styles on WordPress pages | For faster load</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bitrepository.com/remove-unused-scripts-styles-wordpress-pages.html/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Discover How To Detect Mobile Devices: Video Presentation</title>
		<link>https://www.bitrepository.com/detect-mobile-devices-frontend-backend-video.html</link>
		
		<dc:creator><![CDATA[Gabriel Livan]]></dc:creator>
		<pubDate>Thu, 20 Aug 2015 19:47:38 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<guid isPermaLink="false">http://www.gabelivan.com/?p=16271</guid>

					<description><![CDATA[<p>I was recently contacted by the guys from <a href="https://www.webucator.com/">Webucator</a> regarding a video they would like to create for the <a href="http://www.bitrepository.com/detect-mobile-devices-on-front-end-and-back-end.html">Detect Mobile Devices on Front-End and Back-End</a> post. As developers and designers, we need a professional way to detect the right media where the webpage is loaded to optimise it accordingly. Hence, my fellow readers, I've decided to post the video below. This is great for people that are visual and prefer to watch a video, rather then reading a post about this topic.<br />
<br /><a href="https://www.bitrepository.com/detect-mobile-devices-frontend-backend-video.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+bitrepository+%28BIT+Repository%29&#038;utm_content=FeedBurner#more-16271">Read the rest of this entry...</a></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/detect-mobile-devices-frontend-backend-video.html">Discover How To Detect Mobile Devices: Video Presentation</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">I was recently contacted by the guys from <a href="https://www.webucator.com/">Webucator</a> regarding a video they would like to create for the <a href="http://www.bitrepository.com/detect-mobile-devices-on-front-end-and-back-end.html">Detect Mobile Devices on Front-End and Back-End</a> post. As developers and designers, we need a professional way to detect the right media where the webpage is loaded to optimise it accordingly. Hence, my fellow readers, I&#8217;ve decided to post the video below. This is great for people that are visual and prefer to watch a video, rather then reading a post about this topic.<br />
<span id="more-16271"></span></p>
<div class="bit-note bit-note-info">The guys from Webucator offer <a href="https://www.webucator.com/webdev/php.cfm">PHP training</a> classes that you can start immediately whether you&#8217;re looking for customised in-person PHP training for a private group, a public online PHP class you can join, or a self-paced PHP course.</div>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><!-- norss --><!-- /norss --><br />
<a href="https://www.youtube.com/watch?v=KKYNcUX3dTs"><strong>View Video</strong></a></p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Enjoy the video and if you have any comments about the topic, feel free to post them!</p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/detect-mobile-devices-frontend-backend-video.html">Discover How To Detect Mobile Devices: Video Presentation</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Be one of 3 Winners of a PixelKit Membership Account</title>
		<link>https://www.bitrepository.com/be-one-of-3-winners-of-a-pixelkit-membership-account.html</link>
					<comments>https://www.bitrepository.com/be-one-of-3-winners-of-a-pixelkit-membership-account.html#comments</comments>
		
		<dc:creator><![CDATA[Gabriel Livan]]></dc:creator>
		<pubDate>Wed, 08 Jul 2015 10:30:39 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<guid isPermaLink="false">http://www.gabelivan.com/?p=16163</guid>

					<description><![CDATA[<div class="bit-note bit-note-alert">This giveaway has ended and the winners already chosen.</div>
<div class="bit-note bit-note-info">To enter this giveaway, <strong>just leave a comment on this post</strong>. Three winners will be chosen randomly after two weeks. Just make sure to type your e-mail correctly when you post your comment so you can be notified if you're among the winners.</div>
<p>The solution to the dreadful search for quality web graphics is over. Designers around the world can now make use of these amazing UI kits from <a href="http://pixelkit.com/"><strong>PixelKit</strong></a> for all their design needs.</p>
<p>What's all included?</p>
<p>If you're one of the three fortunate winners of a full-year membership to PixelKit you will confirm why these kits are so amazing. These UI kits include a huge array of web graphics to beautify and make any website functional. Here's why this giveaway is so amazing:</p>
<ul>
<li>Your PixelKit membership allows you to use 5000+ premium graphics and any other graphic kit that is added within the year without paying anything extra.</li>
<li>New UI kits are added every month, and you can access those with your membership with ease.</li>
<li>You get access to virtually all the icons and web elements you will ever need, no matter the theme of your website. Most other libraries have fewer elements, making it difficult for designers to find everything they need in one place.</li>
<li>PixelKit's vectored graphics are the perfect solution for you to resize your elements based on your needs.</li>
<li>The library is full of mobile-ready elements that make it easy for viewing on tablets, smartphones, and pretty much any device.</li>
<li>If you're working on HTML sites, you will be glad to know that these elements are compatible with 960 grids.</li>
</ul>
<p><a href="https://www.bitrepository.com/be-one-of-3-winners-of-a-pixelkit-membership-account.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+bitrepository+%28BIT+Repository%29&#038;utm_content=FeedBurner#more-16163">Read the rest of this entry...</a></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/be-one-of-3-winners-of-a-pixelkit-membership-account.html">Be one of 3 Winners of a PixelKit Membership Account</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="bit-note bit-note-alert">This giveaway has ended and the winners already chosen.</div>
<div class="bit-note bit-note-info">To enter this giveaway, <strong>just leave a comment on this post</strong>. Three winners will be chosen randomly after two weeks. Just make sure to type your e-mail correctly when you post your comment so you can be notified if you&#8217;re among the winners.</div>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">The solution to the dreadful search for quality web graphics is over. Designers around the world can now make use of these amazing UI kits from <a href="http://pixelkit.com/"><strong>PixelKit</strong></a> for all their design needs.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">What&#8217;s all included?</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">If you&#8217;re one of the three fortunate winners of a full-year membership to PixelKit you will confirm why these kits are so amazing. These UI kits include a huge array of web graphics to beautify and make any website functional. Here&#8217;s why this giveaway is so amazing:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Your PixelKit membership allows you to use 5000+ premium graphics and any other graphic kit that is added within the year without paying anything extra.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">New UI kits are added every month, and you can access those with your membership with ease.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">You get access to virtually all the icons and web elements you will ever need, no matter the theme of your website. Most other libraries have fewer elements, making it difficult for designers to find everything they need in one place.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">PixelKit&#8217;s vectored graphics are the perfect solution for you to resize your elements based on your needs.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">The library is full of mobile-ready elements that make it easy for viewing on tablets, smartphones, and pretty much any device.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">If you&#8217;re working on HTML sites, you will be glad to know that these elements are compatible with 960 grids.</li>
</ul>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><span id="more-16163"></span></p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Designers who are looking to develop sites with ease and in an efficient manner should consider PixelKit as their UI graphics solution. It solves the problem of needing to spend hours developing your own graphics or looking for them on the Internet. Now you can spend that time working on your projects instead.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Check out some of the kits PixelKit has for you:</p>
<h3>Shapes Mobile Kit</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Perfect for iOS app development. This UI kit, named Shapes Mobile, is beautiful, clear, and versatile. If you’re an app developer, take a look at this.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><a href="http://pixelkit.com/kits/ios-ui/" target="_blank"><img decoding="async" class="stylish" style="width: 100%; max-width: 819px;" src="http://pixelkit.com/wp-content/uploads/2014/05/various-previews.jpg" alt="iOS UI" /></a></p>
<h3>Crooked Stats Kit</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">If you&#8217;re creating infographics for your clients, then Crooked Stats is for you. It will help you showcase your information in an easy-to-understand manner no matter how complex it is.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><a href="http://pixelkit.com/kits/stats-infographic-kit" target="_blank"><img decoding="async" class="stylish" style="width: 100%; max-width: 819px;" src="http://pixelkit.com/wp-content/uploads/2013/05/PiesGraphs.jpg" alt="Stats Infographic Kit" /></a></p>
<h3>5 O&#8217;clock Shades Icon Set</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">The O&#8217;clock Shades Icon Set is a set of modern icons with a flat style, perfect for a modern website that is also functional.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><a href="http://pixelkit.com/kits/app-icons/" target="_blank"><img decoding="async" class="stylish" style="width: 100%; max-width: 819px;" src="http://pixelkit.com/wp-content/uploads/2013/10/Slider_imag_2.jpg" alt="App Icons" /></a></p>
<h3>City Break UI Kit</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">If you&#8217;re working on a website for a Bed and Breakfast, a hotel, or any other related industry website, the City Break UI Kit is perfect for you. Portray a site that is not only fun, but also easy to use for visitors.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><a href="http://pixelkit.com/kits/hotel-ui-kit/" target="_blank"><img decoding="async" class="stylish" style="width: 100%; max-width: 819px;" src="http://pixelkit.com/wp-content/uploads/2013/09/The-Basics.jpg" alt="Hotel UI Kit" /></a></p>
<h3>Red Carpet UI Kit</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">The Red Carpet UI Kit has been built with movie review blogs and related blogs in mind.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><a href="http://pixelkit.com/kits/movie-ui-kit/" target="_blank"><img decoding="async" class="stylish" style="width: 100%; max-width: 819px;" src="http://pixelkit.com/wp-content/uploads/2014/08/red-carpet-the-basics.jpg" alt="Movie UI Kit" /></a></p>
<h2 style="border-bottom: 1px solid #E5E5E5; color: #2F3340; font-size: 16px; font-weight: normal; line-height: 21px; margin: 0 0 5px; overflow: hidden; padding: 8px 0 5px; text-shadow: 1px 1px 1px #E7E7E7; width: 96%;">How to Enter to Win a PixelKit membership</h2>
<div class="bit-note bit-note-info"><strong>Just leave a comment on this post</strong>. Three winners will be chosen randomly after two weeks. Just make sure to type your e-mail correctly when you post the comment (it can simply be: &#8220;I&#8217;m in&#8221; or &#8220;Looking forward to win it&#8221; or simply mentioning what you&#8217;re planning to do with the membership) so you can be notified if you&#8217;re among the winners.</div>
<h2 style="border-bottom: 1px solid #E5E5E5; color: #2F3340; font-size: 16px; font-weight: normal; line-height: 21px; margin: 0 0 5px; overflow: hidden; padding: 8px 0 5px; text-shadow: 1px 1px 1px #E7E7E7; width: 96%;">How are the winners actually selected?</h2>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">By running an SQL query that selects 3 random results from the comments table:<br />
<code>SELECT * FROM {$wpdb-&gt;comments} WHERE `comment_post_ID` = 16163 AND comment_approved = 1 ORDER BY RAND() LIMIT 3</code></p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Last but not least, check out the <a href="https://github.com/Pixelkit/PixelKit-Bootstrap-UI-Kits"><strong>Free PixelKit Bootstrap UI Kits</strong></a>. For all your HTML design projects, these templates are a perfect fit.</p>
<div class="bit-note bit-note-success">UPDATE: The winners were chosen and they are: <strong>Isuelt</strong>, <strong>Oscar Lito M Pablo</strong> and <strong>Noel Heuer</strong>.</div>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/be-one-of-3-winners-of-a-pixelkit-membership-account.html">Be one of 3 Winners of a PixelKit Membership Account</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bitrepository.com/be-one-of-3-winners-of-a-pixelkit-membership-account.html/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress Shortcuts: Things developers must know to enhance productivity</title>
		<link>https://www.bitrepository.com/wordpress-shortcuts-things-developers-must-know-enhance-productivity.html</link>
		
		<dc:creator><![CDATA[Lucy Berrette]]></dc:creator>
		<pubDate>Sat, 27 Jun 2015 09:40:58 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<guid isPermaLink="false">http://www.gabelivan.com/?p=16140</guid>

					<description><![CDATA[<p>As a professional web developer, it becomes quintessential to perform the development process within a short time span. In fact, the main objective of a developer is not only to develop a WP website but also to complete the procedure quickly and efficiently.</p>
<p><img src="http://www.bitrepository.com/wp-content/uploads/2015/06/wordpress-shortcuts-300x236.jpg" alt="WordPress Shortcuts - Enhance Productivity" title="WordPress Shortcuts" width="300" height="236"  border="0" style="float: right; margin-left: 10px;" class="alignright stylish size-medium wp-image-16153" /></p>
<p>Time-saving is one of the foremost priorities of a developer that can help enhance the overall productivity. And one of the productivity tips from the developer’s point of view is the epidemic usage of the exciting WordPress shortcuts.</p>
<p>WordPress is the prominent blogging and CMS platform that also offers a wide range of keyboard shortcuts to help you boost your productivity rate expeditiously. Through this blog, we will highlight some of great and time-saving WP keyboard shortcuts. But before diving into this, let us understand why content formatting plays a crucial role.</p>
<p><a href="https://www.bitrepository.com/wordpress-shortcuts-things-developers-must-know-enhance-productivity.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+bitrepository+%28BIT+Repository%29&#038;utm_content=FeedBurner#more-16140">Read the rest of this entry...</a></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/wordpress-shortcuts-things-developers-must-know-enhance-productivity.html">WordPress Shortcuts: Things developers must know to enhance productivity</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">As a professional web developer, it becomes quintessential to perform the development process within a short time span. In fact, the main objective of a developer is not only to develop a WP website but also to complete the procedure quickly and efficiently.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img loading="lazy" decoding="async" src="http://www.bitrepository.com/wp-content/uploads/2015/06/wordpress-shortcuts-300x236.jpg" alt="WordPress Shortcuts - Enhance Productivity" title="WordPress Shortcuts" width="300" height="236"  border="0" style="float: right; margin-left: 10px;" class="alignright stylish size-medium wp-image-16153" srcset="https://www.bitrepository.com/wp-content/uploads/2015/06/wordpress-shortcuts-300x236.jpg 300w, https://www.bitrepository.com/wp-content/uploads/2015/06/wordpress-shortcuts.jpg 400w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Time-saving is one of the foremost priorities of a developer that can help enhance the overall productivity. And one of the productivity tips from the developer’s point of view is the epidemic usage of the exciting WordPress shortcuts.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">WordPress is the prominent blogging and CMS platform that also offers a wide range of keyboard shortcuts to help you boost your productivity rate expeditiously. Through this blog, we will highlight some of great and time-saving WP keyboard shortcuts. But before diving into this, let us understand why content formatting plays a crucial role.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><span id="more-16140"></span></p>
<h3>Content Formatting 101</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">The presentation style of your website’s content plays a key role in determining the conversion rates and viewer’s engagement. Systematically formatted content with the pertinent headings, bold and italics, block quotes, induces the interest of the targeted readers. Thus, it is important to format the content in an engaging and intellectual way.</p>
<h3>Bold Text</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Highlighting the text in bold quickly grabs the viewer’s attention to your site’s content. When you are glancing through pages and for that matter you see a sentence or phrase that are highlighted in bold, it quickly appeals to your eyes and you start reading those <strong>highlighted sentences</strong>.</p>
<h3>Italics</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Italics play a crucial role by allowing your readers to briskly grasp what is being referred to in the content. It enables the reader to automatically highlight on the <em>italicized</em> word.</p>
<h3>Bullet Lists</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Bulleted lists drive the eyes of your reader. With the help of bullet format, you can convey the desired message to the viewers very easily and swiftly. Such text is easier to read and always easier to remember in this format. However, there are certain tips that you should keep in mind while using bullets:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Keep the sentences short and relevant</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Make sure each sentence carries the same scale of importance</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Don’t use too many bullets</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Start each sentence with the same part of speech</li>
</ul>
<h3>WordPress Shortcuts</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">WordPress appears with a <strong>&#8220;What You See Is What You Get&#8221;</strong> editor. It is one of the collective excellent text editors which is used to fortify a plethora of rich text activities that includes bullet points, highlighting text, block quotes and headings.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Do you know that the WP keyboard shortcut <strong>&#8220;Ctrl+K&#8221;</strong> opens the hyperlink dialogue box and by entering the URL, your text gets hyperlinked without using a mouse click. Isn’t it amazing that you can manage your text efficiently without wasting your precious time.</p>
<h3>Essential points</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Many of the themes and plugins in WordPress sum up their own shortcode buttons to the visual Editor, which is very helpful for most of the developers.</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">You don&#8217;t have to install any new theme or plugin that can add extra buttons in the Visual Editors.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">If you are using a Mac, then there is no use of Ctrl key. Replace the <strong>Ctrl</strong> key with the <strong>Command</strong> key in the keyboard shorts.</li>
</ul>
<h3>Launch Visual Editor</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">You need to launch a Visual Editor in WordPress by creating any new page or post.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Once creating a page/post, you need to see all the formatting tools that are already available in the WordPress Visual Editor. By clicking Toolbar Toggle button, you can easily showcase or hide the toolbar that contains the other necessary formatting buttons.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">By clicking on the <strong>&#8220;? Button&#8221;</strong>, you can see the Keyboard Shortcuts dialog box.</p>
<h3>Heading Shortcuts</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">You can use these shortcuts for the different headings from H1 to H6. It saves your time as you don’t need to select the sentence. You just place your cursor on the appropriate sentence and apply the keyboard shortcut and you can easily highlight the selected sentence. (If you are using Mac, then you have to use Option+Command in the place of Ctrl)</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Heading 1 =&gt; <strong>Ctrl+1</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Heading 2 =&gt; <strong>Ctrl+2</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Heading 3 =&gt; <strong>Ctrl+3</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Heading 4 =&gt; <strong>Ctrl+4</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Heading 5 =&gt; <strong>Ctrl+5</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Heading 6 =&gt; <strong>Ctrl+6</strong></li>
</ul>
<h3>Basic Editor Shortcuts</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">In this, you have to select the sentence, phrase or word that needs to be highlighted. Following are the basic editor keyboard shortcuts used by all web developers.</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Cut =&gt; <strong>Ctrl+X</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Copy =&gt; <strong>Ctrl+C</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Paste =&gt; <strong>Ctrl+V</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Underline =&gt; <strong>Ctrl+U</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Italicize =&gt; <strong>Ctrl+I</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Bold =&gt; <strong>Ctrl+B</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Select All =&gt; <strong>Ctrl+A</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Strikethrough =&gt; <strong>Alt+Shift+D</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Undo =&gt; <strong>Ctrl+Z</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Redo =&gt; <strong>Ctrl+Y</strong></li>
</ul>
<h3>Exceptional Editor Shortcuts</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">With the use of such advanced editor shortcuts, you can save a lot of time and complete your work with efficiency.</p>
<h3>Text Alignment Shortcuts</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Align Right =&gt; <strong>Alt+Shift+R</strong><br />
Align Left =&gt; <strong>Alt+Shift+L</strong><br />
Justify Text =&gt; <strong>Alt+Shift+J</strong><br />
Align Centre =&gt; <strong>Alt+Shift+C</strong><br />
Link Modification Shortcuts<br />
Insert Link =&gt; <strong>Alt+Shift+A</strong><br />
Remove Link =&gt; <strong>Alt+Shift+S</strong></p>
<h3>5 Amazing Unknown Keyboard Shortcuts</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Add/Remove Code Tag =&gt; <strong>Alt+Shift+X</strong><br />
Insert Page Break Tag =&gt; <strong>Alt+Shift+P</strong><br />
Insert More Tag =&gt; <strong>Alt+Shift+T</strong><br />
Insert Blockquote =&gt; <strong>Alt+Shift+Q</strong><br />
Insert Image =&gt; <strong>Alt+Shift+M</strong></p>
<h3>WordPress Keyboard Shortcuts that are barely used:</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Open Spell Checker =&gt; <strong>Alt+Shift+N</strong><br />
Help =&gt; <strong>Alt+Shift+H</strong><br />
Enter Distraction-free writing mode =&gt; <strong>Alt+Shift+W</strong><br />
Save Draft =&gt; <strong>Ctrl+S</strong><br />
Show/hide the Kitchen Sink =&gt; <strong>Shift+Alt+Z</strong></p>
<h3>Distraction Free Writing Mode</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">This mode has the ability to shroud everything that can come between your writing. The Distraction free writing mode also offers amazing keyboard shortcuts:</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Enter/Exit Mode =&gt; <strong>Alt+Shift+W</strong><br />
Narrow the Editor =&gt; <strong>Ctrl + &#8216;-&#8216; (Simply press Ctrl-)</strong><br />
Reset to Default Width =&gt; Ctrl+0<br />
Widen the Editor =&gt; <strong>Ctrl + &#8216;+&#8217; (Simply press Ctrl+)</strong></p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><strong>Comment Moderation Keyboard Shortcuts</strong><br />
Filtering the daily comments from the posts is one of the irritating and time-consuming activities. But with the help of keyboard shortcuts, you can easily moderate the comments publish on the WP blog or post.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><strong>Enabling Keyboard Shortcuts for Comment Moderation</strong><br />
In order to utilize these shortcuts, you need to enable the “Shortcuts for Comment Moderation” option in the WP admin account.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><strong>Note:</strong> By default this option is inactive. To make it active, you need to follow these steps:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Go to <strong>WP Dashboard &gt; Users &gt; Your Profile</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Check the box <strong>Enable keyboard shortcuts for comment moderation</strong></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Click on <strong>Update Profile</strong></li>
</ul>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><strong>Comment Navigation Shortcuts</strong><br />
You need to navigate through the list of comments. And the selected or activated comment will be highlighted in blue color.<br />
Navigate to Comment Above <strong>K</strong> (also known as the Comment Up key)<br />
Navigate to Comment Below <strong>J</strong> (also known as the Comment Down key)</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><strong>Comment Moderation Action Keyboard Shortcuts</strong><br />
After selecting the comments that you want to moderate, you can use the below shortcuts:<br />
Approve comment – <strong>A</strong><br />
Unapproved comment, and put it back into moderation – <strong>U</strong><br />
Mark comment as spam – <strong>S</strong><br />
Reply to the comment – <strong>R</strong> (Hit Esc to cancel the reply)<br />
Restore comment – <strong>Z</strong><br />
Quick Activate Edit for inline editing of the comment – <strong>Q</strong><br />
Delete comment – <strong>D</strong></p>
<h3>Bulk Comment Moderation Shortcuts</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Following are the bulk comment moderation shortcuts. With the use of it, you can save a lot of time:<br />
Approve Selected Comments – <strong>Shift + A</strong><br />
Move Comments to Trash – <strong>Shift + T</strong><br />
Mark Comments as Spam – <strong>Shift + S</strong><br />
Delete the Selected Comments – <strong>Shift + D</strong><br />
Reject the Selected Comments – <strong>Shift + U</strong><br />
Restore Comments from Trash – <strong>Shift + Z</strong></p>
<h3>Conclusion</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">With the help of all these amazing keyboard shortcuts, you can easily format the content on your WP website and can make changes quickly. These are some of the important shortcuts that can enhance your site’s productivity in a short time span.</p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/wordpress-shortcuts-things-developers-must-know-enhance-productivity.html">WordPress Shortcuts: Things developers must know to enhance productivity</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Hide WordPress Widgets on Specific Pages / Posts</title>
		<link>https://www.bitrepository.com/hide-wordpress-widgets-specific-pages-posts.html</link>
					<comments>https://www.bitrepository.com/hide-wordpress-widgets-specific-pages-posts.html#comments</comments>
		
		<dc:creator><![CDATA[Gabriel Livan]]></dc:creator>
		<pubDate>Fri, 10 Apr 2015 16:34:16 +0000</pubDate>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.gabelivan.com/?p=15983</guid>

					<description><![CDATA[<p><img src="http://www.bitrepository.com/wp-content/uploads/2015/03/wordpress-logo1.png" alt="wordpress logo" title="wordpress logo" width="140" height="140"  border="0" style="float: right; margin-left: 10px;" class="alignright size-full wp-image-15771" /> There are situations when you would like to hide certain widgets from your sidebar or other place when your visitor is on a specific page or post. For instance, I removed the "About me" text widget from the "About" page as the information was redundant and it's nice to have a clean, fast loading website without any unnecessary data loaded.</p>
<p>You can either do that by using a plugin, which is the easiest and quickest way of doing it or by adding a code in your functions.php (or a custom plugin where you have your settings). If you want to apply this to 1 page and 1 widget only and you're comfortable editing code, then you can use my snippet code. If you have to hide a few widgets for more pages and posts, then using a plugin would have been easier to manage that.</p>
<p>I will show you how to do it both ways and you can decide based on your situation what's the best option for you. It's also good for you to see how it's done in the code, so you can learn more ;-)<br />
<br /><a href="https://www.bitrepository.com/hide-wordpress-widgets-specific-pages-posts.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+bitrepository+%28BIT+Repository%29&#038;utm_content=FeedBurner#more-15983">Read the rest of this entry...</a></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/hide-wordpress-widgets-specific-pages-posts.html">Hide WordPress Widgets on Specific Pages / Posts</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img loading="lazy" decoding="async" src="http://www.bitrepository.com/wp-content/uploads/2015/03/wordpress-logo1.png" alt="wordpress logo" title="wordpress logo" width="140" height="140"  border="0" style="float: right; margin-left: 10px;" class="alignright size-full wp-image-15771" /> There are situations when you would like to hide certain widgets from your sidebar or other place when your visitor is on a specific page or post. For instance, I removed the &#8220;About me&#8221; text widget from the &#8220;About&#8221; page as the information was redundant and it&#8217;s nice to have a clean, fast loading website without any unnecessary data loaded.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">You can either do that by using a plugin, which is the easiest and quickest way of doing it or by adding a code in your functions.php (or a custom plugin where you have your settings). If you want to apply this to 1 page and 1 widget only and you&#8217;re comfortable editing code, then you can use my snippet code. If you have to hide a few widgets for more pages and posts, then using a plugin would have been easier to manage that.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">I will show you how to do it both ways and you can decide based on your situation what&#8217;s the best option for you. It&#8217;s also good for you to see how it&#8217;s done in the code, so you can learn more 😉<br />
<span id="more-15983"></span></p>
<h2 style="border-bottom: 1px solid #E5E5E5; color: #2F3340; font-size: 16px; font-weight: normal; line-height: 21px; margin: 0 0 5px; overflow: hidden; padding: 8px 0 5px; text-shadow: 1px 1px 1px #E7E7E7; width: 96%;">1) By using &#8220;Display Widgets&#8221; WP Plugin</h2>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><a href="https://wordpress.org/plugins/display-widgets/"><img loading="lazy" decoding="async" src="http://www.bitrepository.com/wp-content/uploads/2015/04/display-widgets-wordpress-plugin.jpg" alt="display widgets wordpress plugin" title="display widgets wordpress plugin" width="819" height="265" class="bit alignnone size-full wp-image-15986" srcset="https://www.bitrepository.com/wp-content/uploads/2015/04/display-widgets-wordpress-plugin.jpg 819w, https://www.bitrepository.com/wp-content/uploads/2015/04/display-widgets-wordpress-plugin-300x97.jpg 300w" sizes="auto, (max-width: 819px) 100vw, 819px" /></a><br />
This WordPress Plugin hides widgets on specified pages. It adds checkboxes to each widget to either show or hide it on every site page. With over 200,000 installs (I&#8217;ve tested it myself) and a 4.8 out of 5 rating, you can be sure that this plugin does what it claims. </p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Using it, you can avoid creating multiple sidebars and duplicating widgets by adding checkboxes to each widget in the admin. &#8220;Hide on checked pages&#8221; is left without any boxes checked, thus all your current widgets will display on all pages.</p>
<h2 style="border-bottom: 1px solid #E5E5E5; color: #2F3340; font-size: 16px; font-weight: normal; line-height: 21px; margin: 0 0 5px; overflow: hidden; padding: 8px 0 5px; text-shadow: 1px 1px 1px #E7E7E7; width: 96%;">2) By inserting a code snippet into functions.php</h2>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Here&#8217;s the code that you can use to remove the widget you want in one or more pages. We will analyse it below:</p>
<pre class="brush: php;">function bit_remove_widget( $sidebars_widgets ) {
    global $post;
    
    $page_ids = array(2); // List of Page IDs where the widget will get hidden (one or more)
    $sidebar_id = &#39;sidebar&#39;;
    $widget_id = &#39;text-394376789&#39;;
    
    if( in_array($post-&gt;ID, $page_ids) ) {
        foreach($sidebars_widgets[$sidebar_id] as $key =&gt; $value) {
            if($value == $widget_id) {
                unset($sidebars_widgets[$sidebar_id][$key]);
            }
        }
    }
    
    return $sidebars_widgets;
}

add_filter( &#39;sidebars_widgets&#39;, &#39;bit_remove_widget&#39; );</pre>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">By using the WordPress filter &#8216;sidebars_widgets&#8217;, we are removing the ones that we do not need. First, we declare the $page_ids that contains a list with the pages where the widget will be hidden. In my example, I&#8217;ve added 2 as the page ID.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">To get the page id, you just access the pages list &#8220;Pages&#8221; &#8211; &#8220;All Pages&#8221; and click on its title. The URL that will contain something like: &#8220;/post.php?post=2&#038;action=edit&#8221; &#8211; The value of &#8220;post&#8221; (2 in this case) is the Page ID.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Now, we need to get the Sidebar ID and Widget ID. The easiest way for this would be to access &#8220;Appearance&#8221; &#8211; &#8220;Widgets&#8221; in the Dashboard, then on &#8220;Screen Options&#8221; (top right), click &#8220;Enable accessibility mode&#8221;. Once you do, click &#8220;Edit&#8221; on the widget you want to hide. In the URI, you have the values you need: <em>/widgets.php?widgets-access=on&#038;editwidget=<strong>text-394376789</strong>&#038;sidebar=<strong>sidebar</strong>&#038;key=0</em> (Widget ID and Sidebar ID are shown in bold).</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">I hope you learned something today and if you have any questions or comments about this technique, feel free to comment below. Many thanks for reading this and looking forward for more WordPress tips and tricks!</p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/hide-wordpress-widgets-specific-pages-posts.html">Hide WordPress Widgets on Specific Pages / Posts</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bitrepository.com/hide-wordpress-widgets-specific-pages-posts.html/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>6 Online Tools You Can Use To Measure Website Speed</title>
		<link>https://www.bitrepository.com/websites-you-can-use-to-measure-website-speed.html</link>
					<comments>https://www.bitrepository.com/websites-you-can-use-to-measure-website-speed.html#comments</comments>
		
		<dc:creator><![CDATA[Gabriel Livan]]></dc:creator>
		<pubDate>Thu, 02 Apr 2015 08:00:37 +0000</pubDate>
				<category><![CDATA[Page Loading Speed]]></category>
		<guid isPermaLink="false">http://www.gabelivan.com/?p=15838</guid>

					<description><![CDATA[<p>As higher visitor engagement, retention and conversions are obtained through fast and optimised web pages, one needs to identify performance best practices that can be applied to his/her website. As studies show that users leave a website if it hasn't loaded within 4 seconds, you need to keep your users happy and engaged by providing a fast performing website which is also good from a SEO perspective, as Google nowadays take into account the loading speed as a ranking factor. The following websites are meant to help you determine how fast your website really is and take the necessary actions to speed the loading of your pages:</p>
<h3>PageSpeed Insights</h3>
<p>Measures the performance of a page for mobile and desktop devices. The URL is being fetched twice: once with a mobile user agent, and once with a desktop user agent. The page score ranges from 0 to 100 points. The higher the score, the better. If you have a score over 85, it suggests that the page is performing well.</p>
<p>This tool measures how a page can improve its performance on:</p>
<ul>
<li><strong>Time to above-the-fold load:</strong> Elapsed time from the moment a visitors requests a new page and to the moment the above-the-fold content is rendered by the browser.
	</li>
<li><strong>Time to full page load:</strong> Elapsed time from the moment a visitor requests a new page to the moment the page is fully rendered by the browser.</li>
</ul>
<p><!-- noformat on --><br />
<img style="height: 100%;" class="bit alignnone size-full wp-image-15839" title="page speed insights" src="http://www.bitrepository.com/wp-content/uploads/2015/03/page-speed-insights.jpg" alt="page speed insights" width="819" /></p>
<div class="bit-note bit-note-info" style="margin-bottom: 0;"><a href="https://developers.google.com/speed/pagespeed/">Make the Web Faster</a> &#124; <a href="https://developers.google.com/speed/pagespeed/insights/">Analyze your site online</a></div>
<p><img src="http://www.bitrepository.com/images/dividers/divider_6.png" alt="" /><br />
<!-- noformat off --><br /><a href="https://www.bitrepository.com/websites-you-can-use-to-measure-website-speed.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+bitrepository+%28BIT+Repository%29&#038;utm_content=FeedBurner#more-15838">Read the rest of this entry...</a></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/websites-you-can-use-to-measure-website-speed.html">6 Online Tools You Can Use To Measure Website Speed</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">As higher visitor engagement, retention and conversions are obtained through fast and optimised web pages, one needs to identify performance best practices that can be applied to his/her website. As studies show that users leave a website if it hasn&#8217;t loaded within 4 seconds, you need to keep your users happy and engaged by providing a fast performing website which is also good from a SEO perspective, as Google nowadays take into account the loading speed as a ranking factor. The following websites are meant to help you determine how fast your website really is and take the necessary actions to speed the loading of your pages:</p>
<h3>PageSpeed Insights</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Measures the performance of a page for mobile and desktop devices. The URL is being fetched twice: once with a mobile user agent, and once with a desktop user agent. The page score ranges from 0 to 100 points. The higher the score, the better. If you have a score over 85, it suggests that the page is performing well.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">This tool measures how a page can improve its performance on:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Time to above-the-fold load:</strong> Elapsed time from the moment a visitors requests a new page and to the moment the above-the-fold content is rendered by the browser.
	</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Time to full page load:</strong> Elapsed time from the moment a visitor requests a new page to the moment the page is fully rendered by the browser.</li>
</ul>

<img decoding="async" style="height: 100%;" class="bit alignnone size-full wp-image-15839" title="page speed insights" src="http://www.bitrepository.com/wp-content/uploads/2015/03/page-speed-insights.jpg" alt="page speed insights" width="819" srcset="https://www.bitrepository.com/wp-content/uploads/2015/03/page-speed-insights.jpg 819w, https://www.bitrepository.com/wp-content/uploads/2015/03/page-speed-insights-300x114.jpg 300w" sizes="(max-width: 819px) 100vw, 819px" />
<div class="bit-note bit-note-info" style="margin-bottom: 0;"><a href="https://developers.google.com/speed/pagespeed/">Make the Web Faster</a> | <a href="https://developers.google.com/speed/pagespeed/insights/">Analyze your site online</a></div>
<img decoding="async" src="http://www.bitrepository.com/images/dividers/divider_6.png" alt="" />
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><span id="more-15838"></span></p>
<h3>Pingdom Website Speed Test</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">It was built to help you analyze the load speed of your websites and learn how to make them faster. Tests are done with real test browsers from dedicated Pingdom servers to match exactly the end user experience. They use a bunch of instances of Google&#8217;s Chrome web browser to load websites, record performance data and so on.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Features include:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Examine all parts of a web page </strong>– View file sizes, load times, and other details about every single element of a web page (HTML, JavaScript and CSS files, images, etc.). You can sort and filter this list in different ways to identify performance bottlenecks.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Performance overview</strong> – They automatically put together plenty of performance-related statistics for you based on the test result</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Performance grade and tips</strong> – See how your website conforms to performance best practices from Google Page Speed (similar to Yahoo&#8217;s Yslow). You can get some great tips on how to speed up your website this way.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Trace your performance history</strong> – We save each test for you so you can review it later and also see how things change over time (with pretty charts!).</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Test from multiple locations</strong> – See how fast a website loads in Europe, the United States, etc.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Share your results</strong> – They&#8217;ve made it easy for you to perform a test and share it with your friends, work colleagues or web host.</li>
</ul>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img loading="lazy" decoding="async" class="bit alignnone size-full wp-image-15847" title="Pingdom Website Speed Test" src="http://www.bitrepository.com/wp-content/uploads/2015/03/Pingdom-Website-Speed-Test.jpg" alt="Pingdom Website Speed Test" width="819" height="429" srcset="https://www.bitrepository.com/wp-content/uploads/2015/03/Pingdom-Website-Speed-Test.jpg 819w, https://www.bitrepository.com/wp-content/uploads/2015/03/Pingdom-Website-Speed-Test-300x157.jpg 300w" sizes="auto, (max-width: 819px) 100vw, 819px" /></p>
<div class="bit-note bit-note-info" style="margin-bottom: 0;"><a href="http://tools.pingdom.com/fpt/">Test Your Website&#8217;s Speed</a></div>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img decoding="async" src="http://www.bitrepository.com/images/dividers/divider_6.png" alt="" /></p>
<h3>GTmetrix</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">This service uses Google Page Speed and Yahoo! YSlow to grade your website&#8217;s performance and provides actionable recommendations to fix the issues. You can test your website and get extra features if you sign up for free. Some of the benefits include but not limited to:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Track History with Graphs</strong>: With 3 interactive graphs, you can keep track of the performance for your page and visualise your history</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>See how your page performs on an actual Android device</strong>; thus you can optimise your website for mobile users and ensure a fast page load on their devices.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Test from multiple locations</strong> &#8211; check the page load from different regions around the world (Vancouver, Canada; Dallas, USA; London, UK; Sydney, Australia; São Paulo, Brazil; Mumbai, India; Hong Kong, China)</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Playback Page Load with Videos</strong> &#8211; By recording your page loads, you can pin point exactly where bottlenecks or stoppages occur.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Set up Monitored Alerts</strong> &#8211; You can be notified if your page speed falls below a certain score you set.</li>
</ul>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img loading="lazy" decoding="async" src="http://www.bitrepository.com/wp-content/uploads/2015/03/gtmetrix-website-speed-performance-optimisation.jpg" alt="gtmetrix website speed performance optimisation" title="gtmetrix website speed performance optimisation" width="819" height="537" class="bit alignnone size-full wp-image-15860" srcset="https://www.bitrepository.com/wp-content/uploads/2015/03/gtmetrix-website-speed-performance-optimisation.jpg 819w, https://www.bitrepository.com/wp-content/uploads/2015/03/gtmetrix-website-speed-performance-optimisation-300x197.jpg 300w" sizes="auto, (max-width: 819px) 100vw, 819px" /></p>
<div class="bit-note"><a target="_blank" href="http://gtmetrix.com/">Analyse performance and Sign Up for Free</a></div>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img decoding="async" src="http://www.bitrepository.com/images/dividers/divider_6.png" alt="" /></p>
<h3>Dotcom-Monitor</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">This is a web performance company based in Minneapolis, Minnesota that monitors websites, servers and applications for availability, speed and functionality from their worldwide network. The free website speed test provides:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Browser-based load time testing of all page elements</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Test via Chrome, Firefox, IE and mobile web browsers</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Results from nearly 2 dozen global locations</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Detection of slow/missing elements</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;">Complete waterfall report, charts &#038; graphs</li>
</ul>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">With this tool, you can test your page loading speed in 20 locations worldwide, including cloud based tests (Amazon-US-East) and from behind the Great Firewall of China (Shanghai).</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img loading="lazy" decoding="async" src="http://www.bitrepository.com/wp-content/uploads/2015/03/Dotcom-Monitor.jpg" alt="Dotcom Monitor" title="Dotcom Monitor" width="819" height="567" class="bit alignnone size-full wp-image-15866" srcset="https://www.bitrepository.com/wp-content/uploads/2015/03/Dotcom-Monitor.jpg 819w, https://www.bitrepository.com/wp-content/uploads/2015/03/Dotcom-Monitor-300x208.jpg 300w" sizes="auto, (max-width: 819px) 100vw, 819px" /></p>
<div class="bit-note" style="margin-bottom: 0;"><a target="_blank" href="https://www.dotcom-tools.com/website-speed-test.aspx">Instantly test your website speed</a></div>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img decoding="async" src="http://www.bitrepository.com/images/dividers/divider_6.png" alt="" /></p>
<h3>PageScoring</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">This service provides webmasters with valuable information about the loading speed of their domain and website. The tool generates a report that includes:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Domain Lookup</strong>: The time taken to resolve your domain to the correct server IP</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Connection Time</strong>: The time taken to establish a connection to the web server</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Page Size</strong>: Total page size of the website downloaded in bytes</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Download Time</strong>: Time taken to download the HTML source code</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Average Speed</strong>: The average speed of connection during download</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Files Report</strong>: Details about the files loaded (size, path) and how fast they loaded</li>
</ul>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img loading="lazy" decoding="async" src="http://www.bitrepository.com/wp-content/uploads/2015/03/Page-Scoring.jpg" alt="Page Scoring" title="Page Scoring" width="819" height="704" class="bit alignnone size-full wp-image-15871" srcset="https://www.bitrepository.com/wp-content/uploads/2015/03/Page-Scoring.jpg 819w, https://www.bitrepository.com/wp-content/uploads/2015/03/Page-Scoring-300x258.jpg 300w" sizes="auto, (max-width: 819px) 100vw, 819px" /></p>
<div class="bit-note" style="margin-bottom: 0;"><a href="http://www.pagescoring.com/website-speed-test/">Start a Website Speed Test</a></div>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img decoding="async" src="http://www.bitrepository.com/images/dividers/divider_6.png" alt="" /></p>
<h3>Gift of Speed</h3>
<blockquote style="font-size: 12px; width: 80%; padding: 0 12% 0 1%; margin: 10px auto; color: #717171; line-height: 19px; font-style: italic; border-left: 2px solid #a1a1a1;"><p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Recent studies have shown when web pages do not load within 3 seconds, 25% of visitors will already have left.</p></blockquote>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Besides testing your website speed, this service also offers a range of tools including:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>CSS Compressor</strong>: Automatically compress your CSS scripts and files into a much smaller size. Minimizing the disk size your CSS needs can improve page speed.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>JavaScript Delivery Test</strong>: Check how you can improve your Javascript delivery by running this test.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Caching Checker</strong>: Check whether your files are correctly cached or not by viewing the caching information of your URL.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>Gzip Test Tool</strong>: Tool to check whether your page has GZIP enabled and how well it compresses.</li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><strong>CSS Delivery Test</strong>: Test whether your CSS delivery is optimized to the maximum and learn how to improve the delivery.</li>
</ul>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">What I particularly like about this service is the fact that they have a &#8220;How to&#8221; section with a lot of articles about improving page speed and steps you need to do. Very good to go through, especially for beginners!</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img loading="lazy" decoding="async" src="http://www.bitrepository.com/wp-content/uploads/2015/04/gift-of-speed-test.jpg" alt="gift of speed test" title="gift of speed test" width="819" height="601" class="bit alignnone size-full wp-image-15975" srcset="https://www.bitrepository.com/wp-content/uploads/2015/04/gift-of-speed-test.jpg 819w, https://www.bitrepository.com/wp-content/uploads/2015/04/gift-of-speed-test-300x220.jpg 300w" sizes="auto, (max-width: 819px) 100vw, 819px" /></p>
<div class="bit-note bit-note-info" style="margin-bottom: 0;">
<a href="http://www.giftofspeed.com/">Check Your Page Speed</a> | <a href="http://www.giftofspeed.com/how-to/">How to Improve Page Speed Tips</a>
</div>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;"><img decoding="async" src="http://www.bitrepository.com/images/dividers/divider_6.png" alt="" /></p>
<div class="alert alert-warning">As you can see, each of these services has its advantages and way of testing your page load speed. I recommend using more than one tool to test the speed of your websites as you will get results as accurate as possible having multiple servers loading your pages from various locations around the world.</div>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Has any of these websites helped you in particular to measure website speed? If so, please share your experience with us.</p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/websites-you-can-use-to-measure-website-speed.html">6 Online Tools You Can Use To Measure Website Speed</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bitrepository.com/websites-you-can-use-to-measure-website-speed.html/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Avoid directory traversal attacks in PHP &#038; WordPress</title>
		<link>https://www.bitrepository.com/prevent-directory-traversal-attacks-in-php-wordpress.html</link>
		
		<dc:creator><![CDATA[Gabriel Livan]]></dc:creator>
		<pubDate>Fri, 27 Mar 2015 17:18:46 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://www.gabelivan.com/?p=15812</guid>

					<description><![CDATA[<p>As I promised I will keep posting about website speed and security, I decided to share with you a vulnerability I've often seen to download any file from a server. <strong>Directory traversal attacks</strong> can work in various PHP projects as well as WordPress themes/plugins. Note that this does not apply to PHP only, it can be used with other scripting languages, so consider checking and updating your code to make it secure.<br />
<br /><a href="https://www.bitrepository.com/prevent-directory-traversal-attacks-in-php-wordpress.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+bitrepository+%28BIT+Repository%29&#038;utm_content=FeedBurner#more-15812">Read the rest of this entry...</a></p>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/prevent-directory-traversal-attacks-in-php-wordpress.html">Avoid directory traversal attacks in PHP &#038; WordPress</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">As I promised I will keep posting about website speed and security, I decided to share with you a vulnerability I&#8217;ve often seen to download any file from a server. <strong>Directory traversal attacks</strong> can work in various PHP projects as well as WordPress themes/plugins. Note that this does not apply to PHP only, it can be used with other scripting languages, so consider checking and updating your code to make it secure.<br />
<span id="more-15812"></span></p>
<h2 style="border-bottom: 1px solid #E5E5E5; color: #2F3340; font-size: 16px; font-weight: normal; line-height: 21px; margin: 0 0 5px; overflow: hidden; padding: 8px 0 5px; text-shadow: 1px 1px 1px #E7E7E7; width: 96%;">What is a directory traversal attack?</h2>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">According to Wikipedia: &#8220;A directory traversal (or path traversal) consists in exploiting insufficient security validation / sanitization of user-supplied input file names, so that characters representing &#8220;traverse to parent directory&#8221; are passed through to the file APIs.&#8221;. This HTTP exploit is also known as as the ../ (dot dot slash) attack, directory climbing and backtracking. </p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">The most recent attack on I&#8217;ve noticed was when I checked my 404 logs and noticed attempts on downloading <em>wp-config.php</em> by accessing a file that doesn&#8217;t exist and likely has a vulnerability. The path was something like <em>/wp-content/themes/[theme_name_here]/scripts/download.php?file=../../../../wp-config.php</em>. I didn&#8217;t have that theme installed (as a result a 404 error was issued and logged). It was mostly a scanner that checks WordPress websites for vulnerability and the moment it manages to access <em>wp-config.php</em> it marks that website as vulnerable in their system.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Now, once the vulnerability is found, more files can be downloaded from your server and some of them should not end up being downloaded by everyone, especially by hackers that can mess up your website and affect even your clients.</p>
<h3>What can an attacker do with wp-config.php (or any similar configuration file) for instance?</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">While some attackers would not manage to do much due to their lack of experience, others can have a lot of help by accessing the sensible data from this file. Here are some of the things that you should know about:</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">1) <strong>Keys and Salts</strong> &#8211; Once one knows them, they can take advantage of that to get into the Dashboard. <a href="http://codeseekah.com/2012/04/09/why-wordpress-authentication-unique-keys-and-salts-are-important/">Click here to read more about this</a>!</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">2) <strong>SQL Injection</strong> &#8211; Tables prefix are revealed which is useful for someone to attempt an attack</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">3) <strong>MySQL Database Charset</strong> &#8211; Some attacks rely on this information</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">4) <strong>Login Credentials</strong> &#8211; While they might not access your database (unless you allow external connections to it, a thing that should be done wisely and if only it&#8217;s necessary), they can try variations of your logins on the FTP, email and other popular websites where it&#8217;s likely you haven an account (such as Facebook). Often, people make this mistake of using the same username &#038; password combination on multiple websites and emails, thus making things easier for an attacker. </p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Now, let&#8217;s take a look how a vulnerable download.php file (located in the WP theme&#8217;s root folder) would look like:</p>
<pre class="brush: php;">&lt;?php
$files_folder = &#39;files&#39;;
$file_name = isset($_GET[&#39;file&#39;]) ? $_GET[&#39;file&#39;] : &#39;&#39;;

$path_to_file = dirname(__FILE__).&#39;/&#39;.$files_folder.&#39;/&#39;.$file_name;

if(file_exists($path_to_file)) {
    header(&quot;Cache-Control: no-cache, must-revalidate&quot;); // HTTP/1.1
    header(&quot;Expires: Mon, 26 Jul 1997 05:00:00 GMT&quot;); // Date in the past

    header(&quot;Content-Description: File Transfer&quot;);

    header(&quot;Content-Type: application/save&quot;);

    header(&quot;Content-Length: &quot;.filesize($path_to_file));
    header(&quot;Content-Disposition: attachment; filename=&quot;.basename($file_name)); 
    header(&quot;Content-Transfer-Encoding: binary&quot;);

    readfile($path_to_file);
} else {
    exit(&#39;The requested file does not exist.&#39;);
}
exit;
?&gt;</pre>
<h3>Why is this code vulnerable?</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">As you can see in the code, the file download.php is trying to get any file requested that is located within &#8220;files&#8221; folder. The code <code>dirname(__FILE__)</code> returns the local server path to the theme.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Only one check is made to determine if the file exists before it is being downloaded. However, this can be easily hacked by using the <strong>../</strong> way to traverse through folders.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">In the following example, the file wp-config.php is being downloaded from the server:<br />
<em>http://www.your-domain.com/wp-content/themes/your-theme-name/download.php?file=../../../../wp-config.php</em></p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Basically the full path to the file that is being checked if exists is something like: <em>/home/site/public_html/wp-content/themes/your-theme-name/files/../../../../wp-config.php</em>. As ../ goes to the parent folder, you can see that the function returns true and the right headers are being sent to the browser to download this file. Perhaps you have seen in many PHP applications code like the following: <code>include '../config.php'</code>. It includes the file located in the parent folder. Note that I&#8217;m not against this inclusion practice as long as it&#8217;s used properly in projects.</p>
<h3>How can this code be improved?</h3>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">1. We should strip ../ from being included in the file name.<br />
2. Check if the file really exists in the directory where we want the files to be downloaded from. We&#8217;ll use scandir to get the files and then check if our requested file is in the list.</p>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Here&#8217;s a new improved version of the code:</p>
<pre class="brush: php;">&lt;?php
$files_folder = &#39;files&#39;;
$file_name = isset($_GET[&#39;file&#39;]) ? $_GET[&#39;file&#39;] : &#39;&#39;;

// No ../ are allowed and something has to be requested
if( ($file_name == &#39;&#39;) || (strpos($file_name, &#39;../&#39;) !== false) ) {
    exit(&#39;Invalid Request&#39;);
}
// Now let&#39;s see if the file really exists in $files_folder
$path_to_folder = dirname(__FILE__).&#39;/&#39;.$files_folder.&#39;/&#39;;

$files_in_folder = @scandir($path_to_folder);

if( ! in_array($file_name, $files_in_folder) ) {
    exit(&#39;Files does not exist.&#39;);
}

$path_to_file = $path_to_folder . $file_name;

header(&quot;Cache-Control: no-cache, must-revalidate&quot;); // HTTP/1.1
header(&quot;Expires: Mon, 26 Jul 1997 05:00:00 GMT&quot;); // Date in the past

header(&quot;Content-Description: File Transfer&quot;);

header(&quot;Content-Type: application/save&quot;);

header(&quot;Content-Length: &quot;.filesize($path_to_file));
header(&quot;Content-Disposition: attachment; filename=&quot;.$file_name); 
header(&quot;Content-Transfer-Encoding: binary&quot;);

readfile($path_to_file);
exit;
?&gt;</pre>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">Note that this works if you wish to allow people to download any file from that directory. If you only wish that only specific files should be downloaded, you can include extension checking to avoid for instance .PHP file downloads OR make a list of all possible files that can be downloaded and an extra check to see if the file is there, like in the following example:</p>
<pre class="brush: php;">
$allow_list = array('data.zip', 'extra.zip', 'other-file.csv');

if( ! in_array($file_name, $allow_list) ) {
    exit('Invalid Request! You are not allowed to download the requested file.');
}
</pre>
<div class="bit-note bit-note-danger">There is even a more secure practice to download files without typing the file name. You can add hashes/keys such as <code>/download.php?hash=98b0eec3a439c21f21&#038;key=10a10414</code>. Then, the keys and hashes can be checked in a database and in the backend retrieve the actual file and download it. That&#8217;s how most of the secure download scripts really work. The code above is a simple one that works fine if you really don&#8217;t need to add any extra security or bother using a MySQL database or extra code.</div>
<p style="letter-spacing:0.1px; line-height:18px; margin:0 0 10px; text-align:justify; word-spacing:1.4px;">I hope this post helped you with ideas to prevent directory traversal attack on any websites you&#8217;re working on. Check out some links about this kind of vulnerability:</p>
<ul>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><a target="_blank" href="http://en.wikipedia.org/wiki/Directory_traversal_attack">http://en.wikipedia.org/wiki/Directory_traversal_attack</a></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><a target="_blank" href="http://finalphoenix.me/blog/2015/02/05/7-popular-wordpress-plugins-that-will-get-your-site-hacked/">http://finalphoenix.me/blog/2015/02/05/7-popular-wordpress-plugins-that-will-get-your-site-hacked/</a></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><a target="_blank" href="http://www.acunetix.com/websitesecurity/directory-traversal/">http://www.acunetix.com/websitesecurity/directory-traversal/</a></li>
<li style="list-style-image: none; list-style-position: outside; list-style-type: circle; padding: 3px 0;"><a href="http://www.darkreading.com/vulnerabilities---threats/dont-underestimate-directory-traversal-attacks/d/d-id/1140306?" target="_blank">http://www.darkreading.com/vulnerabilities&#8212;threats/dont-underestimate-directory-traversal-attacks/d/d-id/1140306?</a></li>
</ul>
<div class="bit-note bit-note-info">Did you notice this kind of attack before? Do you have something to share related to this thread? Don&#8217;t hesitate to leave a comment about your experience.</div>
<p>The post <a rel="nofollow" href="https://www.bitrepository.com/prevent-directory-traversal-attacks-in-php-wordpress.html">Avoid directory traversal attacks in PHP &#038; WordPress</a> appeared first on <a rel="nofollow" href="https://www.bitrepository.com">Bit Repository</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
