<?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>Ashley Hollinworth / Front-end Web Developer &amp; Designer / Wakefield, West Yorkshire</title>
	<atom:link href="https://www.ashley-hollinworth.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ashley-hollinworth.co.uk</link>
	<description></description>
	<lastBuildDate>Tue, 02 Mar 2021 11:27:57 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.6.9</generator>
	<item>
		<title>The 8 productivity apps that save me time every day</title>
		<link>https://www.ashley-hollinworth.co.uk/day-4-the-8-productivity-apps-that-save-me-time-every-day/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=day-4-the-8-productivity-apps-that-save-me-time-every-day</link>
					<comments>https://www.ashley-hollinworth.co.uk/day-4-the-8-productivity-apps-that-save-me-time-every-day/#respond</comments>
		
		<dc:creator><![CDATA[Ash]]></dc:creator>
		<pubDate>Thu, 04 Jan 2018 21:30:22 +0000</pubDate>
				<category><![CDATA[90 Day Challenge]]></category>
		<guid isPermaLink="false">https://www.ashley-hollinworth.co.uk/?p=869</guid>

					<description><![CDATA[I can't begin to count the number of hours I have saved over by using apps to streamline daily admin and tasks. In addition to the time saved, the increased level of organisation means I make fewer mistakes and allows me to concentrate on what I enjoy. Trello (Freemium) I use Trello for everything - [...]]]></description>
										<content:encoded><![CDATA[<p>I can&#8217;t begin to count the number of hours I have saved over by using apps to streamline daily admin and tasks. In addition to the time saved, the increased level of organisation means I make fewer mistakes and allows me to concentrate on what I enjoy.</p>
<p><strong>Trello (<a href="https://trello.com/" target="_blank" rel="noopener noreferrer">Freemium</a>)</strong><br />
I use Trello for everything &#8211; shopping lists, Christmas lists &#8211; you name it! Such a simple idea fine-tuned into a powerful and flexible app which is great for organising projects and task lists.</p>
<p><strong>Basecamp (<a href="https://basecamp.com/" target="_blank" rel="noopener noreferrer">Premium</a>)</strong><br />
Communication and project management is fully covered with Basecamp. I mainly use it to record all client communications. Searching and project organisation are powerful which means no more trawling through emails to find important conversations!</p>
<p><strong>TimeCase (<a href="http://www.timecase.net/" target="_blank" rel="noopener noreferrer">Premium</a>)</strong><br />
A simple self-hosted time-tracking script which I have modified slightly to suit my needs. Does the job it needs to well and has a few nice features such as client logins to view time sheets.</p>
<p><strong>Freeagent (<a href="https://www.freeagent.com/" target="_blank" rel="noopener noreferrer">Premium</a>)</strong><br />
My accounting tool. I manage all aspects of accounts using Freeagent. Invoicing is really powerful with full automation which enables the hosting side of my business to run very efficiently.</p>
<p><strong>Dropbox (<a href="https://www.dropbox.com/" target="_blank" rel="noopener noreferrer">Freemium</a>)</strong><br />
I use Dropbox for all of my large file sharing. I have also integrated Dropbox with various apps to act as a cloud backup solution. Shared folders and files are essential to my workflows.</p>
<p><strong>Slack (<a href="https://slack.com" target="_blank" rel="noopener noreferrer">Freemium</a>)</strong><br />
Instant messaging within my teams is easy with Slack. And again this tool fully integrates with loads of other services. The ability to quickly fire a meme or gif over to a colleague is priceless!</p>
<p><strong>G Suite (<a href="https://gsuite.google.com/" target="_blank" rel="noopener noreferrer">Premium</a>)</strong><br />
Aside from the most reliable emails hosting, G Suite offers me loads more tools &#8211; most of which I&#8217;ll probably never use! However Google Drive, Docs and Calendars are used every day and work great on all of my devices.</p>
<p><strong>Skitch (<a href="https://evernote.com/products/skitch" target="_blank" rel="noopener noreferrer">Free</a>)</strong><br />
Finally, there&#8217;s a mention for a great little tool. Having tried numerous similar annotation tools over the years. Skitch always has been the most user-friendly and quickest to use. A personal favourite for writing up quick instructional screens for website admin panels.</p>
<p><em>Do you use any of these tools? Have I missed something that I need to know about? Drop me a comment below!</em></p><p>The post <a href="https://www.ashley-hollinworth.co.uk/day-4-the-8-productivity-apps-that-save-me-time-every-day/">The 8 productivity apps that save me time every day</a> first appeared on <a href="https://www.ashley-hollinworth.co.uk">Ashley Hollinworth / Front-end Web Developer & Designer / Wakefield, West Yorkshire</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ashley-hollinworth.co.uk/day-4-the-8-productivity-apps-that-save-me-time-every-day/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>My essential WordPress plugins</title>
		<link>https://www.ashley-hollinworth.co.uk/day-3-my-essential-wordpress-plugins/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=day-3-my-essential-wordpress-plugins</link>
					<comments>https://www.ashley-hollinworth.co.uk/day-3-my-essential-wordpress-plugins/#respond</comments>
		
		<dc:creator><![CDATA[Ash]]></dc:creator>
		<pubDate>Wed, 03 Jan 2018 21:36:17 +0000</pubDate>
				<category><![CDATA[90 Day Challenge]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://www.ashley-hollinworth.co.uk/?p=863</guid>

					<description><![CDATA[I develop with Wordpress every day, it's still my preferred platform for building content managed websites and the community is a massive part of why that has been the case...ever since I started developing. Plugins have saved me endless hours over the years and enabled me to create functionality that I simply wouldn't have been able [...]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" class="alignright wp-image-865" src="https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/so_good.jpg" alt="So Good" width="385" height="251" srcset="https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/so_good-200x130.jpg 200w, https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/so_good-300x196.jpg 300w, https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/so_good-400x261.jpg 400w, https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/so_good.jpg 512w" sizes="(max-width: 385px) 100vw, 385px" /></p>
<p>I develop with WordPress every day, it&#8217;s still my preferred platform for building content managed websites and the community is a massive part of why that has been the case&#8230;ever since I started developing. Plugins have saved me endless hours over the years and enabled me to create functionality that I simply wouldn&#8217;t have been able to write from scratch when I first started out.</p>
<p>However, over the years (with a few bad experiences, a build-up of legacy sites to maintain and a growing need to make my websites fast and efficient) I have become a lot less reliant on plugins. The constant worry of bad updates and abandoned plugins is a headache is something I like to avoid nowadays!</p>
<p>That said I do have a small list of trusted plugins which have proved stable and very reliable and are used on most sites that I create.</p>
<p><strong>Admin Menu Editor (<a href="https://en-gb.wordpress.org/plugins/admin-menu-editor/" target="_blank" rel="noopener noreferrer">Free</a>)</strong><br />
It&#8217;s essential that my customer&#8217;s admin dashboards are clean and simple, with only essential options on there.</p>
<p><strong>Advanced Custom Fields PRO (<a href="https://www.advancedcustomfields.com/pro/" target="_blank" rel="noopener noreferrer">Freemium</a>)</strong><br />
This makes custom fields a breeze along with extending the core functionality with loads of field types and complex logic if required.</p>
<p><strong>All In One SEO Pack (<a href="https://en-gb.wordpress.org/plugins/all-in-one-seo-pack/" target="_blank" rel="noopener noreferrer">Free</a>)</strong><br />
My &#8216;go-to&#8217; SEO plugin. Simplist and powerful without the ads and bloated UI like some of it&#8217;s competitors.</p>
<p><strong>Capability Manager Enhanced (<a href="https://en-gb.wordpress.org/plugins/capability-manager-enhanced/" target="_blank" rel="noopener noreferrer">Free</a>)</strong><br />
I use in conjunction with Admin Menu Editor to ensure my user accounts are locked down with the correct capabilities, without the need for functions. It also supports. all other plugins capabilities out of the box.</p>
<p><strong>Custom Post Type UI (<a href="https://en-gb.wordpress.org/plugins/custom-post-type-ui/" target="_blank" rel="noopener noreferrer">Free</a>)</strong><br />
A user-friendly UI for adding and editing custom post types. A simple plugin but does exactly what it says on the tin!</p>
<p><strong>Duplicate Post (<a href="https://en-gb.wordpress.org/plugins/duplicate-post/" target="_blank" rel="noopener noreferrer">Free</a>)</strong><br />
A subtle plugin which my clients find useful, but I also find it handy when populating staging sites with dummy content.</p>
<p><strong>Gravity Forms (<a href="https://www.gravityforms.com/" target="_blank" rel="noopener noreferrer">Premium</a>)</strong><br />
My form plugin of choice&#8230;and I have used it for a wide spectrum of forms. From simple contact forms through to complex order forms. There&#8217;s also a great range of official and community add-ons.</p>
<p><strong>iThemes Security (<a href="https://en-gb.wordpress.org/plugins/better-wp-security/" target="_blank" rel="noopener noreferrer">Freemium</a>)</strong><br />
Again I choose this plugin over a few big competitors. I&#8217;ve never had a site compromised with this installed, so that&#8217;s good enough for me!</p>
<p><strong>WooCommerce (<a href="https://woocommerce.com/" target="_blank" rel="noopener noreferrer">Freemium</a>)</strong><br />
A no-brainer. By far the best WordPress e-commerce solution and now stands up against the big dedicated e-commerce platforms.</p>
<p><strong>WP Mail SMTP (<a href="https://en-gb.wordpress.org/plugins/wp-mail-smtp/" target="_blank" rel="noopener noreferrer">Free</a>)</strong><br />
It&#8217;s essential that my customers receive all of their transactional emails quickly and reliably. I always use external SMTP and this plugin supports all the big SMTP providers along with the option of using a custom server.</p>
<p><em>Do you have a trusted list of WordPress plugins? Have I missed a plugin which you think I need to know about? Drop me a comment below!</em></p><p>The post <a href="https://www.ashley-hollinworth.co.uk/day-3-my-essential-wordpress-plugins/">My essential WordPress plugins</a> first appeared on <a href="https://www.ashley-hollinworth.co.uk">Ashley Hollinworth / Front-end Web Developer & Designer / Wakefield, West Yorkshire</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ashley-hollinworth.co.uk/day-3-my-essential-wordpress-plugins/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>404 errors after applying Magento SUPEE-10415</title>
		<link>https://www.ashley-hollinworth.co.uk/day-2-404-errors-after-applying-magento-supee-10415/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=day-2-404-errors-after-applying-magento-supee-10415</link>
					<comments>https://www.ashley-hollinworth.co.uk/day-2-404-errors-after-applying-magento-supee-10415/#respond</comments>
		
		<dc:creator><![CDATA[Ash]]></dc:creator>
		<pubDate>Tue, 02 Jan 2018 10:39:07 +0000</pubDate>
				<category><![CDATA[90 Day Challenge]]></category>
		<category><![CDATA[Magento]]></category>
		<guid isPermaLink="false">https://www.ashley-hollinworth.co.uk/?p=856</guid>

					<description><![CDATA[This was a pre-Xmas break frustration! When patching Magento sites with the SUPEE-10415 patch, if PHP warnings are present on the installation, then 404 errors are returned - locking you out of both frontend and backend. So if you get as far as applying the patch without checking for PHP warnings (within var/log/system.log), then you should [...]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" class="alignright size-full wp-image-859" src="https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/magento.jpg" alt="Magento Errors" width="500" height="277" srcset="https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/magento-200x111.jpg 200w, https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/magento-300x166.jpg 300w, https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/magento-400x222.jpg 400w, https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/magento.jpg 500w" sizes="(max-width: 500px) 100vw, 500px" /></p>
<p>This was a pre-Xmas break frustration! When patching Magento sites with the <a href="https://magento.com/security/patches/supee-10415" target="_blank" rel="noopener noreferrer">SUPEE-10415</a> patch, if PHP warnings are present on the installation, then 404 errors are returned &#8211; locking you out of both frontend and backend.</p>
<p>So if you get as far as applying the patch without checking for PHP warnings (within var/log/system.log), then you should first of all revert the patch.</p>
<p>As you&#8217;ll probably know there are loads of reasons why you are getting PHP warnings in Magento, but the most common reason is an issue with one of your extensions config.xml files. You can check the validity of any of your XML files by running the following command within your app/ directory. (ref <a href="https://www.creativemgroup.com/creative-media-web-services/magento-blog/82-warning-simplexml-load-string-entity-line-parser-error-starttag-invalid-element-name" target="_blank" rel="noopener noreferrer">creative media</a>)</p>
<p><code>find . -name "*.xml" -type f -exec xmllint --noout '{}' \;</code></p>
<p>In my case all of the config.xml files were fine, and a final manual check of all extensions confirmed this.</p>
<p>It&#8217;s useful to mention at this point that there&#8217;s another indicator as to the source of the warnings. If the PHP warnings are only present when Magento caching is enabled, then your XML files are not the culprit.</p>
<p>So what is? In my case, it was data within the core_config_data database table. This data is converted and run as XML similar to the config.xml files. These are run when caching is enabled (hence why there are no PHP warnings when Magento caching is disabled).</p>
<p>To fix, I searched the table for entries with terms related the warnings in the logs. I deleted the entries (warning: be aware you know what you&#8217;re deleting as Magento options are wiped and may need re-configuring) and re-saved any System/Configuration options which were wiped. The troublesome entries for me were extension licence data and a couple of other extension options. The entries had issues within them such as weird characters or names of incorrect functions.</p>
<p>After reading up on the possible causes, this troublesome data could have been created by spikes in traffic leading to corruption. I think in the extension licence entries case&#8230; this was caused by changing the Magento Base URL from dev to live when deployed.</p>
<p>Once all PHP warnings are fixed, you&#8217;re good to run the patch. You&#8217;ll no longer get the 404 errors and Magento will be patched successfully.</p>
<p><em>Did this help? Are you having trouble applying </em>SUPEE<em>-10415? Have you experienced the same issues with the core_config_data database table? Be sure to leave a comment or get in touch.</em></p><p>The post <a href="https://www.ashley-hollinworth.co.uk/day-2-404-errors-after-applying-magento-supee-10415/">404 errors after applying Magento SUPEE-10415</a> first appeared on <a href="https://www.ashley-hollinworth.co.uk">Ashley Hollinworth / Front-end Web Developer & Designer / Wakefield, West Yorkshire</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ashley-hollinworth.co.uk/day-2-404-errors-after-applying-magento-supee-10415/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>New year, new challenge, new me (cringe!)</title>
		<link>https://www.ashley-hollinworth.co.uk/day-1-new-year-new-challenge-new-me-cringe/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=day-1-new-year-new-challenge-new-me-cringe</link>
					<comments>https://www.ashley-hollinworth.co.uk/day-1-new-year-new-challenge-new-me-cringe/#respond</comments>
		
		<dc:creator><![CDATA[Ash]]></dc:creator>
		<pubDate>Mon, 01 Jan 2018 18:19:13 +0000</pubDate>
				<category><![CDATA[90 Day Challenge]]></category>
		<guid isPermaLink="false">https://www.ashley-hollinworth.co.uk/?p=848</guid>

					<description><![CDATA[So I have set myself the challenge of writing a post a day, for 90 days. The aim is to encourage a little personal development and to help me record the things I learn day-to-day. I'll mainly be posting about topics related to web design and development, in hope that the more I have to [...]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" class="wp-image-849 alignright" src="https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/new_year.png" alt="New Year, New Me" width="515" height="395" srcset="https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/new_year-200x153.png 200w, https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/new_year-300x230.png 300w, https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/new_year-400x307.png 400w, https://www.ashley-hollinworth.co.uk/wp-content/uploads/2018/01/new_year.png 600w" sizes="(max-width: 515px) 100vw, 515px" /></p>
<p>So I have set myself the challenge of writing a post a day, for 90 days. The aim is to encourage a little personal development and to help me record the things I learn day-to-day.</p>
<p>I&#8217;ll mainly be posting about topics related to web design and development, in hope that the more I have to write about&#8230;the easier I&#8217;ll find it and the more motivated I will be to stick at it. Although they&#8217;ll no doubt be a few random posts in there if I come across something particularly exciting (or annoying!) in my day.</p>
<p>I&#8217;m not sure if anyone will see these posts, but if there is anyone out there and you have an opinion or idea around anything I write..please don&#8217;t hesitate to get in touch or leave a comment.</p>
<p>Phew&#8230;day 1 done! Back to work tomorrow after the Xmas break, I have a feeling day 2&#8217;s post could be a grumpy one!</p><p>The post <a href="https://www.ashley-hollinworth.co.uk/day-1-new-year-new-challenge-new-me-cringe/">New year, new challenge, new me (cringe!)</a> first appeared on <a href="https://www.ashley-hollinworth.co.uk">Ashley Hollinworth / Front-end Web Developer & Designer / Wakefield, West Yorkshire</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ashley-hollinworth.co.uk/day-1-new-year-new-challenge-new-me-cringe/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Add Webgains tracking code to WooCommerce</title>
		<link>https://www.ashley-hollinworth.co.uk/add-webgains-tracking-code-to-woocommerce/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=add-webgains-tracking-code-to-woocommerce</link>
					<comments>https://www.ashley-hollinworth.co.uk/add-webgains-tracking-code-to-woocommerce/#comments</comments>
		
		<dc:creator><![CDATA[Ash]]></dc:creator>
		<pubDate>Mon, 26 Oct 2015 09:52:17 +0000</pubDate>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Snippits]]></category>
		<guid isPermaLink="false">http://www.ashley-hollinworth.co.uk/?p=100</guid>

					<description><![CDATA[Include the following in your themes functions.php file. The Webgains container tag is included within the &lt;head&gt; of every page. And the Webgains tracking script with dynamic variables is included on the WooCommerce order confirmation page (thankyou.php). Just remember to replace the 'XXXX' with your Webgains ID's. // Include Webgains container tag script within head [...]]]></description>
										<content:encoded><![CDATA[<p>Include the following in your themes functions.php file.</p>
<p>The Webgains container tag is included within the &lt;head&gt; of every page.</p>
<p>And the Webgains tracking script with dynamic variables is included on the WooCommerce order confirmation page (thankyou.php).</p>
<p>Just remember to replace the &#8216;XXXX&#8217; with your Webgains ID&#8217;s.</p>
<pre class="lang:php decode:true">// Include Webgains container tag script within head of very page
wp_enqueue_script('webgains-script', '//tag.webgains.com/container-XXXX.html', array(), '1', false);
// Include Webgains tracking script on order confirmation page
add_action('woocommerce_thankyou', 'wg_tracking', 10, 1);
function wg_tracking( $orderid ) {

    $order = new WC_Order($orderid);
	
	$order_number = $order-&gt;get_order_number();
	$total = $order-&gt;get_total();
    $currency = $order-&gt;get_order_currency();
    
    if( $order-&gt;get_used_coupons() ) {
		
		$coupons_count = count( $order-&gt;get_used_coupons() );
	
	    echo '&lt;h4&gt;' . __('Coupons used') . ' (' . $coupons_count . ')&lt;/h4&gt;';
	     
	    echo '&lt;p&gt;&lt;strong&gt;' . __('Coupons used') . ':&lt;/strong&gt; ';
	    
	    $i = 1;
	    $coupons_list = '';
	    
	    foreach( $order-&gt;get_used_coupons() as $coupon) {
	        $coupons_list .=  $coupon;
	        if( $i &lt; $coupons_count )
	        	$coupons_list .= ', ';
	        $i++;
	    }
	
	} // endif get_used_coupons
   
    ?&gt;

	&lt;!-- &lt;webgains tracking code&gt; --&gt;
	&lt;script language="javascript" type="text/javascript"&gt;
	
	var wgOrderReference = "&lt;?php echo $order_number?&gt;";
	var wgOrderValue = "&lt;?php echo $total?&gt;";
	var wgEventID = XXXX;
	var wgComment = "";
	var wgLang = "en_EN";
	var wgsLang = "javascript-client";
	var wgVersion = "1.2";
	var wgProgramID = XXXX;
	var wgSubDomain = "track";
	var wgCheckSum = "";
	var wgItems = "";
	var wgVoucherCode = "&lt;?php echo $coupons_list?&gt;";
	var wgCustomerID = "";
	var wgCurrency = "&lt;?php echo $currency?&gt;";
	
	if(location.protocol.toLowerCase() == "https:") wgProtocol="https";
	else wgProtocol = "http";
	wgUri = wgProtocol + "://" + wgSubDomain + ".webgains.com/transaction.html" + "?wgver=" + wgVersion + "&amp;wgprotocol=" + wgProtocol + "&amp;wgsubdomain=" + wgSubDomain + "&amp;wgslang=" + wgsLang + "&amp;wglang=" + wgLang + "&amp;wgprogramid=" + wgProgramID + "&amp;wgeventid=" + wgEventID + "&amp;wgvalue=" + wgOrderValue + "&amp;wgchecksum=" + wgCheckSum + "&amp;wgorderreference="  + wgOrderReference + "&amp;wgcomment=" + escape(wgComment) + "&amp;wglocation=" + escape(document.referrer) + "&amp;wgitems=" + escape(wgItems) + "&amp;wgcustomerid=" + escape(wgCustomerID) + "&amp;wgvouchercode=" + escape(wgVoucherCode) + "&amp;wgCurrency=" + escape(wgCurrency);
	document.write('&lt;sc'+'ript language="JavaScript"  type="text/javascript" src="'+wgUri+'"&gt;&lt;/sc'+'ript&gt;');
	&lt;/script&gt;
	&lt;noscript&gt;
	&lt;?php echo '&lt;img src="http://track.webgains.com/transaction.html?wgver=1.2&amp;wgprogramid=XXXX&amp;wgrs=1&amp;wgvalue=' . $total . '&amp;wgeventid=XXXX&amp;wgorderreference=' . $order_number . '&amp;wgitems=&amp;wgvouchercode=' . $coupons_list . '&amp;wgcustomerid=&amp;wgCurrency=' . $currency . '" alt="" /&gt;' ?&gt;	
	&lt;/noscript&gt;
	&lt;!-- &lt;/webgains tracking code&gt; --&gt;
    &lt;?php
}
</pre>
<p>&nbsp;</p><p>The post <a href="https://www.ashley-hollinworth.co.uk/add-webgains-tracking-code-to-woocommerce/">Add Webgains tracking code to WooCommerce</a> first appeared on <a href="https://www.ashley-hollinworth.co.uk">Ashley Hollinworth / Front-end Web Developer & Designer / Wakefield, West Yorkshire</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ashley-hollinworth.co.uk/add-webgains-tracking-code-to-woocommerce/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Add Gravity Form Admin Panel to other WordPress User Roles</title>
		<link>https://www.ashley-hollinworth.co.uk/add-gravity-form-admin-panel-to-other-wordpress-user-roles/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=add-gravity-form-admin-panel-to-other-wordpress-user-roles</link>
					<comments>https://www.ashley-hollinworth.co.uk/add-gravity-form-admin-panel-to-other-wordpress-user-roles/#respond</comments>
		
		<dc:creator><![CDATA[Ash]]></dc:creator>
		<pubDate>Fri, 20 Mar 2015 10:15:48 +0000</pubDate>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Snippits]]></category>
		<guid isPermaLink="false">http://www.ashley-hollinworth.co.uk/?p=96</guid>

					<description><![CDATA[Add the code below to your theme's functions.php file to add the Gravity Forms settings, form editor and form entires to anther user roles admin panel. function add_gf_cap() { $role = get_role( 'editor' ); $role-&gt;add_cap( 'gform_full_access' ); } add_action( 'admin_init', 'add_gf_cap' );]]></description>
										<content:encoded><![CDATA[<p>Add the code below to your theme&#8217;s functions.php file to add the Gravity Forms settings, form editor and form entires to anther user roles admin panel.</p>
<pre class="lang:default decode:true ">function add_gf_cap()
{
    $role = get_role( 'editor' );
    $role-&gt;add_cap( 'gform_full_access' );
}
 
add_action( 'admin_init', 'add_gf_cap' );</pre><p>The post <a href="https://www.ashley-hollinworth.co.uk/add-gravity-form-admin-panel-to-other-wordpress-user-roles/">Add Gravity Form Admin Panel to other WordPress User Roles</a> first appeared on <a href="https://www.ashley-hollinworth.co.uk">Ashley Hollinworth / Front-end Web Developer & Designer / Wakefield, West Yorkshire</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ashley-hollinworth.co.uk/add-gravity-form-admin-panel-to-other-wordpress-user-roles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Monitor your website&#8217;s search ranking with this Free Google SERP Checker</title>
		<link>https://www.ashley-hollinworth.co.uk/monitor-your-websites-search-ranking-with-this-free-google-serp-checker/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=monitor-your-websites-search-ranking-with-this-free-google-serp-checker</link>
					<comments>https://www.ashley-hollinworth.co.uk/monitor-your-websites-search-ranking-with-this-free-google-serp-checker/#respond</comments>
		
		<dc:creator><![CDATA[Ash]]></dc:creator>
		<pubDate>Thu, 27 Nov 2014 09:48:02 +0000</pubDate>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">http://www.ashley-hollinworth.co.uk/?p=83</guid>

					<description><![CDATA[This Free Google SERP Checker allows you to automatically monitor your Google Search Engine Ranking Position quickly and accurately. An account enables you to check the SERP of multiple websites, automatically as often as every 2 hours. And you can view the results in a simple graph or table format. It's a great little tool for [...]]]></description>
										<content:encoded><![CDATA[<p>This <a title="Website SERP Monitoring Tool" href="https://www.serplab.co.uk/" target="_blank">Free Google SERP Checker</a> allows you to automatically monitor your Google Search Engine Ranking Position quickly and accurately.</p>
<p>An account enables you to check the SERP of multiple websites, automatically as often as every 2 hours. And you can view the results in a simple graph or table format.</p>
<p><img class="alignnone size-full wp-image-84" src="http://www.ashley-hollinworth.co.uk/wp-content/uploads/2014/11/Screen-Shot-2014-11-27-at-09.45.33.png" alt="Screen Shot 2014-11-27 at 09.45.33" width="50%" srcset="https://www.ashley-hollinworth.co.uk/wp-content/uploads/2014/11/Screen-Shot-2014-11-27-at-09.45.33-300x211.png 300w, https://www.ashley-hollinworth.co.uk/wp-content/uploads/2014/11/Screen-Shot-2014-11-27-at-09.45.33.png 566w" sizes="(max-width: 566px) 100vw, 566px" /></p>
<p>It&#8217;s a great little tool for any web designers, developers, SEO&#8217;s or web masters. The tool is still in BETA so make sure you head over and <a title="Website SERP Monitoring Tool" href="https://www.serplab.co.uk/" target="_blank">signup for your free account whilst you still can</a>.</p><p>The post <a href="https://www.ashley-hollinworth.co.uk/monitor-your-websites-search-ranking-with-this-free-google-serp-checker/">Monitor your website’s search ranking with this Free Google SERP Checker</a> first appeared on <a href="https://www.ashley-hollinworth.co.uk">Ashley Hollinworth / Front-end Web Developer & Designer / Wakefield, West Yorkshire</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ashley-hollinworth.co.uk/monitor-your-websites-search-ranking-with-this-free-google-serp-checker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Move Woocommerce Tabs to right hand product content section</title>
		<link>https://www.ashley-hollinworth.co.uk/move-woocommerce-tabs-to-right-hand-product-content-section/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=move-woocommerce-tabs-to-right-hand-product-content-section</link>
					<comments>https://www.ashley-hollinworth.co.uk/move-woocommerce-tabs-to-right-hand-product-content-section/#respond</comments>
		
		<dc:creator><![CDATA[Ash]]></dc:creator>
		<pubDate>Sun, 16 Nov 2014 15:02:24 +0000</pubDate>
				<category><![CDATA[Snippits]]></category>
		<category><![CDATA[WooCommerce]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://www.ashley-hollinworth.co.uk/?p=87</guid>

					<description><![CDATA[If your developing an e-commerce website using Woocommerce, by default the product tabs (including full product description, technical specifications etc.) are positioned underneath the two product columns. To move the tabs to the right hand side (underneath 'Add to Cart' button etc.) Insert the snippit into your Wordpress themes functions.php file. This is an update-safe [...]]]></description>
										<content:encoded><![CDATA[<p>If your developing an e-commerce website using Woocommerce, by default the product tabs (including full product description, technical specifications etc.) are positioned underneath the two product columns.</p>
<p>To move the tabs to the right hand side (underneath &#8216;Add to Cart&#8217; button etc.) Insert the snippit into your WordPress themes functions.php file. This is an update-safe method as your not having to edit core Woocommerce code.</p>
<pre class="lang:php decode:true ">// Removes tabs from their original loaction 
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
// Inserts tabs under the main right product content 
add_action( 'woocommerce_single_product_summary', 'woocommerce_output_product_data_tabs', 60 );</pre>
<p>&nbsp;</p><p>The post <a href="https://www.ashley-hollinworth.co.uk/move-woocommerce-tabs-to-right-hand-product-content-section/">Move Woocommerce Tabs to right hand product content section</a> first appeared on <a href="https://www.ashley-hollinworth.co.uk">Ashley Hollinworth / Front-end Web Developer & Designer / Wakefield, West Yorkshire</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ashley-hollinworth.co.uk/move-woocommerce-tabs-to-right-hand-product-content-section/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Add Favicons, Apple Icons and Windows Icons to Your Website Really Easily</title>
		<link>https://www.ashley-hollinworth.co.uk/add-favicons-apple-icons-and-windows-icons-to-your-website-really-easily/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=add-favicons-apple-icons-and-windows-icons-to-your-website-really-easily</link>
					<comments>https://www.ashley-hollinworth.co.uk/add-favicons-apple-icons-and-windows-icons-to-your-website-really-easily/#respond</comments>
		
		<dc:creator><![CDATA[Ash]]></dc:creator>
		<pubDate>Tue, 16 Sep 2014 16:35:02 +0000</pubDate>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Apple]]></category>
		<guid isPermaLink="false">http://www.ashley-hollinworth.co.uk/?p=74</guid>

					<description><![CDATA[My first bookmark is one of the most useful in my Delicious account. It's probably saved me hours of individually creating favicons in Photoshop over the last 12 months. RealFaviconGenerator generates all of the icons and HTML code you need to display perfectly sizes icons for; PC and Mac, as usual iPhone and iPad Android phones [...]]]></description>
										<content:encoded><![CDATA[<p>My first bookmark is one of the most useful in my Delicious account. It&#8217;s probably saved me hours of individually creating favicons in Photoshop over the last 12 months.</p>
<p><a href="http://realfavicongenerator.net/" target="_blank">RealFaviconGenerator</a> generates all of the icons and HTML code you need to display perfectly sizes icons for;</p>
<ul>
<li>PC and Mac, as usual</li>
<li>iPhone and iPad</li>
<li>Android phones and tablets</li>
<li>Windows 8 tablets<br />
And more&#8230;</li>
</ul>
<p>It&#8217;s really simple, just create your base file which will be used to generate your icons, <a href="http://realfavicongenerator.net/" target="_blank">upload here</a> then sit back and watch your icons generate along with the code you&#8217;ll need to insert into the &lt;head&gt; of your website.</p>
<p>If you have any equally awesome bookmarks please <a title="contact" href="http://www.ashley-hollinworth.co.uk/contact/">get in touch</a> and share them with me!</p><p>The post <a href="https://www.ashley-hollinworth.co.uk/add-favicons-apple-icons-and-windows-icons-to-your-website-really-easily/">Add Favicons, Apple Icons and Windows Icons to Your Website Really Easily</a> first appeared on <a href="https://www.ashley-hollinworth.co.uk">Ashley Hollinworth / Front-end Web Developer & Designer / Wakefield, West Yorkshire</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ashley-hollinworth.co.uk/add-favicons-apple-icons-and-windows-icons-to-your-website-really-easily/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Woocommerce Advanced Delivery Datepicker per Product</title>
		<link>https://www.ashley-hollinworth.co.uk/woocommerce-advanced-delivery-datepicker-per-product/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=woocommerce-advanced-delivery-datepicker-per-product</link>
					<comments>https://www.ashley-hollinworth.co.uk/woocommerce-advanced-delivery-datepicker-per-product/#comments</comments>
		
		<dc:creator><![CDATA[Ash]]></dc:creator>
		<pubDate>Wed, 10 Sep 2014 09:48:38 +0000</pubDate>
				<category><![CDATA[Snippits]]></category>
		<category><![CDATA[WooCommerce]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://blog.local/?p=16</guid>

					<description><![CDATA[My brief was to add a delivery date picker to a Woocommerce website selling gift hampers. There were a few conditions required on the datepicker; 5pm cut-off for next day delivery Sun delivery unavailable National Holidays/ holidays unavailable add £10 surcharge for Saturday Deliveries. Initially I was looking at this plugin, however this delivery option is only [...]]]></description>
										<content:encoded><![CDATA[<p>My brief was to add a delivery date picker to a Woocommerce website selling gift hampers. There were a few conditions required on the datepicker;</p>
<ul>
<li>5pm cut-off for next day delivery</li>
<li>Sun delivery unavailable</li>
<li>National Holidays/ holidays unavailable</li>
<li>add £10 surcharge for Saturday Deliveries.</li>
</ul>
<p>Initially I was looking at <a href="http://www.tychesoftwares.com/store/premium-plugins/order-delivery-date-for-woocommerce-pro-21/" target="_blank">this plugin</a>, however this delivery option is only at checkout, and applies to all products. What if I need to specify the delivery date selection on a per product basis? The solution was to first use <a href="http://www.woothemes.com/products/product-add-ons/" target="_blank">WooCommerce Product Addons</a> to add 2 global addons.</p>
<ul>
<li>Delivery date text field (to add datepicker.js onto)</li>
<li>Saturday Delivery checkbox field with £10 addon when active</li>
</ul>
<p>Next I call the jQuery UI library and my custom datepicker.js file.</p>
<pre class="lang:php decode:true ">/*-----------------------------------------------------------------------------------*/
/* Delivery Custom Datepicker */
/*-----------------------------------------------------------------------------------*/
add_action( 'wp_enqueue_scripts', 'custom_enqueue_datepicker' );
 
function custom_enqueue_datepicker() {
	// Optional - enqueue styles
	wp_enqueue_style( 'jquery-ui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/themes/smoothness/jquery-ui.css', false, '1.0', false );
	
	// Enqueue YOURTHEME/js/datepicker.js
	wp_enqueue_script(  'your-datepicker-script', get_stylesheet_directory_uri() . '/js/datepicker.js', array( 'jquery', 'jquery-ui-datepicker' ), '1.0', true );
}</pre>
<p>Now I add the datepicker.js file within my theme&#8217;s js/ folder.</p>
<pre class="lang:js decode:true">jQuery(document).ready(function($) { 
	var dateMin = new Date();
    var weekDays = AddWeekDays(1);

    dateMin.setDate(dateMin.getDate() + weekDays);

    var natDays = [
      [1, 1, 'uk'], //New Years Day
      [12, 25, 'uk'], //Xmas Day
      [12, 26, 'uk'] //Boxing Day
    ];

    function noWeekendsOrHolidays(date) {
        var noWeekend = date.getDay();
                  
        if (noWeekend &gt; 0) {
            return nationalDays(date);
        } else {
            return [(noWeekend &gt; 0), ''];
        }
    }
    
    function nationalDays(date) {
        for (i = 0; i &lt; natDays.length; i++) {
            if (date.getMonth() == natDays[i][0] - 1 &amp;&amp; date.getDate() == natDays[i][1]) {
                return [false, natDays[i][2] + '_day'];
            }
        }
        return [true, ''];
    }
    
    function AddWeekDays(weekDaysToAdd) {
        var mydate = new Date()
        if (mydate.getHours()&gt;=17) var daysToAdd = 1 // 5pm Cut Off
        else var daysToAdd = 0
        var day = mydate.getDay()
        weekDaysToAdd = weekDaysToAdd - (5 - day)
        if ((5 - day) &lt; weekDaysToAdd || weekDaysToAdd == 1) {
            daysToAdd = (5 - day) + 2 + daysToAdd
        } else { // (5-day) &gt;= weekDaysToAdd
            daysToAdd = (5 - day) + daysToAdd
        }
        while (weekDaysToAdd != 0) {
            var week = weekDaysToAdd - 5
            if (week &gt; 0) {
                daysToAdd = 7 + daysToAdd
                weekDaysToAdd = weekDaysToAdd - 5
            } else { // week &lt; 0
                daysToAdd = (5 + week) + daysToAdd
                weekDaysToAdd = weekDaysToAdd - (5 + week)
            }
        }

        return daysToAdd;
    }
    //Add datepicker to Woocommerce Addon field
    jQuery( ".product-addon-delivery-date input" ).datepicker({
        beforeShowDay: noWeekendsOrHolidays,
        minDate: dateMin,
        defaultDate: +1,
        firstDay: 1,
        changeFirstDay: true,
        dateFormat: "DD dd-mm-yy"
    });
    
});</pre>
<p>Now the datepicker is using the conditions required I just need to add the Saturday delivery charge. The date is outputting the long day name (DD) into the field. So lets check the date field for the word &#8216;Saturday&#8217; and if  present check the addon checkbox. If no present, uncheck the addon checkbox.</p>
<pre class="lang:js decode:true ">jQuery( ".product-addon-delivery-date input" ).change(function() {
    if ( $(this).val().indexOf("Saturday") &gt; -1 ) {
        $('.product-addon-saturday-delivery input').attr('checked','checked');
    } else {
            $( ".product-addon-saturday-delivery input" ).prop( "checked", false );
           }
	});</pre>
<p>Finally hide the Saturday Delivery field with some CSS. Final result <a href="#" target="_blank">here</a></p><p>The post <a href="https://www.ashley-hollinworth.co.uk/woocommerce-advanced-delivery-datepicker-per-product/">Woocommerce Advanced Delivery Datepicker per Product</a> first appeared on <a href="https://www.ashley-hollinworth.co.uk">Ashley Hollinworth / Front-end Web Developer & Designer / Wakefield, West Yorkshire</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.ashley-hollinworth.co.uk/woocommerce-advanced-delivery-datepicker-per-product/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
	</channel>
</rss>
