<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Konstruktors</title>
	
	<link>http://konstruktors.com</link>
	<description>Web Design, WordPress and Performance Services</description>
	<lastBuildDate>Sat, 19 May 2012 16:41:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-beta4-20805</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/KonstruktorsNotes" /><feedburner:info uri="konstruktorsnotes" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://konstruktors.superfeedr.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license><item>
		<title>.po/.mo File Conversion Tool for WordPress Translators</title>
		<link>http://feedproxy.google.com/~r/KonstruktorsNotes/~3/wwAzBmzsBcQ/</link>
		<comments>http://konstruktors.com/blog/wordpress/3627-convert-po-mo-files-online/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 12:08:22 +0000</pubDate>
		<dc:creator>Kaspars</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://konstruktors.com/?p=3627</guid>
		<description><![CDATA[I&#8217;ve created a very simple online tool for converting .po and .mo files (both directions) which many WordPress developers will find useful especially when translators forget to email the original .po file. You can learn more about translating WordPress core, plugins and themes at WordPress Codex. Related posts OpenID Plugin and WordPress&#160;2.8 GPL Sockets Baltic Amber Admin Themes [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve created a very simple <a title="Convert .mo to .po and .po to .mo files" href="http://tools.konstruktors.com">online tool for converting <code>.po</code> and <code>.mo</code> files</a> (both directions) which many WordPress developers will find useful especially when translators forget to email the original <code>.po</code> file. You can learn more about translating WordPress core, plugins and themes at <a title="Learn how to translate WordPress core, themes and plugins" href="http://codex.wordpress.org/Translating_WordPress">WordPress Codex</a>.</p>
<p><a href="http://tools.konstruktors.com"><img class="aligncenter size-medium wp-image-3628" title=".mo and .po file convertion tool for WordPress developers" src="http://konstruktors.com/wp-content/uploads/2012/04/mo-po-convertion-tool-online-500x326.png" alt="" width="500" height="326" /></a></p>
<h4>Related posts</h4><ol>
<li><a href='http://konstruktors.com/blog/wordpress/1241-openid-plugin-and-wordpress-2-8/' rel='bookmark' title='OpenID Plugin and WordPress&nbsp;2.8'>OpenID Plugin and WordPress&nbsp;2.8</a></li>
<li><a href='http://konstruktors.com/blog/free-software/2550-gpl-sockets/' rel='bookmark' title='GPL Sockets'>GPL Sockets</a></li>
<li><a href='http://konstruktors.com/blog/wordpress/263-with-colour-picker-baltic-amber-schemes-themes/' rel='bookmark' title='Baltic Amber Admin Themes &amp; Schemes Now With a Colour&nbsp;Picker'>Baltic Amber Admin Themes &amp; Schemes Now With a Colour&nbsp;Picker</a></li>
</ol>
<p><a href="http://feedads.g.doubleclick.net/~a/N9Qjd2216QugGf-dTOgwc0-vaCU/0/da"><img src="http://feedads.g.doubleclick.net/~a/N9Qjd2216QugGf-dTOgwc0-vaCU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/N9Qjd2216QugGf-dTOgwc0-vaCU/1/da"><img src="http://feedads.g.doubleclick.net/~a/N9Qjd2216QugGf-dTOgwc0-vaCU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/KonstruktorsNotes/~4/wwAzBmzsBcQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://konstruktors.com/blog/wordpress/3627-convert-po-mo-files-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://konstruktors.com/blog/wordpress/3627-convert-po-mo-files-online/</feedburner:origLink></item>
		<item>
		<title>Add the Order of Widgets Within a Sidebar as a CSS Class to All Widgets</title>
		<link>http://feedproxy.google.com/~r/KonstruktorsNotes/~3/r7P4WvyZbaI/</link>
		<comments>http://konstruktors.com/blog/wordpress/3615-add-widget-order-css-class-sidebar/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 17:18:43 +0000</pubDate>
		<dc:creator>Kaspars</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://konstruktors.com/?p=3615</guid>
		<description><![CDATA[Here is a simple filter to automatically add a class attribute like widget-order-1 to all widgets within sidebars: add_action('init', 'add_widget_order_class'); function add_widget_order_class() { global $wp_registered_sidebars, $wp_registered_widgets; $sidebars = wp_get_sidebars_widgets(); if (empty($sidebars)) return; foreach ($sidebars as $sidebar_id =&#62; $widgets) { if (empty($widgets)) continue; foreach ($widgets as $i =&#62; $widget_id) { $order = $i + 1; $wp_registered_widgets[$widget_id]['classname'] [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a simple filter to automatically add a class attribute like <code>widget-order-1</code> to all widgets within sidebars:</p>
<pre>add_action('init', 'add_widget_order_class');
function add_widget_order_class() {
	global $wp_registered_sidebars, $wp_registered_widgets;
	$sidebars = wp_get_sidebars_widgets();
	if (empty($sidebars))
		return;
	foreach ($sidebars as $sidebar_id =&gt; $widgets) {
		if (empty($widgets))
			continue;
		foreach ($widgets as $i =&gt; $widget_id) {
			$order = $i + 1;
			$wp_registered_widgets[$widget_id]['classname'] .= ' widget-order-' . $order;
		}
	}
}</pre>
<h4>Related posts</h4><ol>
<li><a href='http://konstruktors.com/blog/wordpress/101-wordpress-plugin-custom-function-widgets/' rel='bookmark' title='WordPress Plugin: Custom Function&nbsp;Widgets'>WordPress Plugin: Custom Function&nbsp;Widgets</a></li>
<li><a href='http://konstruktors.com/blog/wordpress/593-tabbed-widgets-plugin-update-076/' rel='bookmark' title='Tabbed Widgets Plugin Update&nbsp;(0.76)'>Tabbed Widgets Plugin Update&nbsp;(0.76)</a></li>
<li><a href='http://konstruktors.com/blog/wordpress/322-tabbed-widgets-plugin-for-wordpress/' rel='bookmark' title='Tabbed Widgets Plugin&nbsp;for WordPress'>Tabbed Widgets Plugin&nbsp;for WordPress</a></li>
</ol>
<p><a href="http://feedads.g.doubleclick.net/~a/uAhD31yBGnWPP5sYLbt2xUohUfM/0/da"><img src="http://feedads.g.doubleclick.net/~a/uAhD31yBGnWPP5sYLbt2xUohUfM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/uAhD31yBGnWPP5sYLbt2xUohUfM/1/da"><img src="http://feedads.g.doubleclick.net/~a/uAhD31yBGnWPP5sYLbt2xUohUfM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/KonstruktorsNotes/~4/r7P4WvyZbaI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://konstruktors.com/blog/wordpress/3615-add-widget-order-css-class-sidebar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://konstruktors.com/blog/wordpress/3615-add-widget-order-css-class-sidebar/</feedburner:origLink></item>
		<item>
		<title>Enable WordPress Dashboard Quick Login</title>
		<link>http://feedproxy.google.com/~r/KonstruktorsNotes/~3/xxxbSb1OMo4/</link>
		<comments>http://konstruktors.com/blog/wordpress/3594-wordpress-dashboard-quick-login/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 19:30:00 +0000</pubDate>
		<dc:creator>Kaspars</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://konstruktors.com/?p=3594</guid>
		<description><![CDATA[All of the web browsers today have input autocomplete or auto-fill feature built-in and chances are that you have your WordPress username and password stored in the browser and the input fields are completed automatically upon visiting /wp-login.php. Wouldn&#8217;t it be nice if WordPress would log you in automatically if the fields have been pre-filled [...]]]></description>
			<content:encoded><![CDATA[<p>All of the web browsers today have input autocomplete or auto-fill feature built-in and chances are that you have your WordPress username and password stored in the browser and the input fields are completed automatically upon visiting <code>/wp-login.php</code>. Wouldn&#8217;t it be nice if WordPress would log you in <strong>automatically</strong> if the fields have been pre-filled by the browser?</p>
<p><iframe src="http://www.screenr.com/embed/iLT8" frameborder="0" width="500" height="305"></iframe></p>
<p>Here is a simple snippet of PHP and Javascript that checks if the input fields have been filled and submits the login form one second after the page has been loaded. All you have to do is append <code>#quicklogin</code> to your login bookmark URL so that it looks like <code>http://example.com/wp-admin/#quicklogin</code> and Javascript will do its magic. Add this to your <code>functions.php</code>.</p>
<pre>add_action('login_footer', 'enable_admin_quick_login');
function enable_admin_quick_login() {
?&gt;
	&lt;script type="text/javascript"&gt;
		$url_hash = window.location.hash;
		if ($url_hash.indexOf('quicklogin') != -1) {
			setTimeout(function() {
				if (document.loginform.user_login.value &amp;&amp; document.loginform.user_pass.value) {
					document.loginform.submit();
				}
			}, 1000);
		}
	&lt;/script&gt;
&lt;?php
}</pre>
<h4>Related posts</h4><ol>
<li><a href='http://konstruktors.com/blog/wordpress/3529-custom-redirect-to-wordpress-login-dashboard/' rel='bookmark' title='Add Custom URL Redirects to Your WordPress Dashboard Areas or Login&nbsp;Page'>Add Custom URL Redirects to Your WordPress Dashboard Areas or Login&nbsp;Page</a></li>
<li><a href='http://konstruktors.com/blog/wordpress/3203-how-to-automatically-add-image-credit-or-source-url-to-photo-captions-in-wordpress/' rel='bookmark' title='How to Automatically Add Image Credit or Source URL to Photo Captions in&nbsp;WordPress'>How to Automatically Add Image Credit or Source URL to Photo Captions in&nbsp;WordPress</a></li>
<li><a href='http://konstruktors.com/blog/wordpress/2885-enable-plugin-theme-updates-and-pretty-permalinks-nginx/' rel='bookmark' title='Enable WordPress Plugin, Theme Updates and Pretty Permalinks on&nbsp;Nginx'>Enable WordPress Plugin, Theme Updates and Pretty Permalinks on&nbsp;Nginx</a></li>
</ol>
<p><a href="http://feedads.g.doubleclick.net/~a/w3B5dnBRRQtrcP1jHnFyVuUqbJo/0/da"><img src="http://feedads.g.doubleclick.net/~a/w3B5dnBRRQtrcP1jHnFyVuUqbJo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/w3B5dnBRRQtrcP1jHnFyVuUqbJo/1/da"><img src="http://feedads.g.doubleclick.net/~a/w3B5dnBRRQtrcP1jHnFyVuUqbJo/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/KonstruktorsNotes/~4/xxxbSb1OMo4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://konstruktors.com/blog/wordpress/3594-wordpress-dashboard-quick-login/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://konstruktors.com/blog/wordpress/3594-wordpress-dashboard-quick-login/</feedburner:origLink></item>
		<item>
		<title>Page Stacks in UI</title>
		<link>http://feedproxy.google.com/~r/KonstruktorsNotes/~3/JNAG2waYbF4/</link>
		<comments>http://konstruktors.com/blog/web-design/3561-page-stacks-ui/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 08:00:28 +0000</pubDate>
		<dc:creator>Kaspars</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://konstruktors.com/?p=3561</guid>
		<description><![CDATA[The concept of page stacks is something brilliant for building leveled navigation and giving users immediate glimpse of the big picture. (via onkulis.com) Related posts Graphic vs. Web&#160;Design Page Speed&#160;95/100]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://37signals.com/svn/posts/3111-basecamp-next-ui-preview">concept of <strong>page stacks</strong></a> is something brilliant for building leveled navigation and giving users immediate glimpse of the big picture.</p>
<p>    <iframe src="http://player.vimeo.com/video/36917486" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>(via <a href="http://www.onkulis.com/2012/02/17/jason-fried-dod-ieskatu-jaunaja-basecamp-ui/">onkulis.com</a>)</p>
<h4>Related posts</h4><ol>
<li><a href='http://konstruktors.com/blog/design/2628-graphic-vs-web-design/' rel='bookmark' title='Graphic vs. Web&nbsp;Design'>Graphic vs. Web&nbsp;Design</a></li>
<li><a href='http://konstruktors.com/blog/wordpress/2743-page-speed-95100/' rel='bookmark' title='Page Speed&nbsp;95/100'>Page Speed&nbsp;95/100</a></li>
</ol>
<p><a href="http://feedads.g.doubleclick.net/~a/ENycubCy4i0EO7SPObg2K1s0UBY/0/da"><img src="http://feedads.g.doubleclick.net/~a/ENycubCy4i0EO7SPObg2K1s0UBY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ENycubCy4i0EO7SPObg2K1s0UBY/1/da"><img src="http://feedads.g.doubleclick.net/~a/ENycubCy4i0EO7SPObg2K1s0UBY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/KonstruktorsNotes/~4/JNAG2waYbF4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://konstruktors.com/blog/web-design/3561-page-stacks-ui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://konstruktors.com/blog/web-design/3561-page-stacks-ui/</feedburner:origLink></item>
		<item>
		<title>How to Avoid Widow “Read More” Links in Post Excerpts</title>
		<link>http://feedproxy.google.com/~r/KonstruktorsNotes/~3/V1lKFNmoxmU/</link>
		<comments>http://konstruktors.com/blog/wordpress/3462-avoid-widow-read-more-links/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 09:30:34 +0000</pubDate>
		<dc:creator>Kaspars</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://konstruktors.com/?p=3462</guid>
		<description><![CDATA[A &#8220;widow&#8221; in typography is defined as: A paragraph-ending line that falls at the beginning of the following page/column, thus separated from the rest of the text. If you are using the standard inline &#8220;Read more&#8221; links at the end of post excerpts on index and archive pages, here is a simple filter to ensure [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://konstruktors.com/wp-content/uploads/2012/02/read-more-widow-last-word-wordpress.jpg"><img class="aligncenter size-medium wp-image-3549" title="Read more link widow in WordPress excerpts" src="http://konstruktors.com/wp-content/uploads/2012/02/read-more-widow-last-word-wordpress-500x150.jpg" alt="Read more link widow in WordPress excerpts" width="500" height="150" /></a></p>
<p>A &#8220;widow&#8221; in typography is defined as:</p>
<blockquote><p>A paragraph-ending line that falls at the beginning of the following page/column, thus separated from the rest of the text.</p></blockquote>
<p>If you are using the standard inline &#8220;Read more&#8221; links at the end of post excerpts on index and archive pages, here is a simple filter to ensure that a non-breaking space is added before the &#8220;Read more&#8221; link:</p>
<pre>add_filter('the_content_more_link', 'prepend_non_breaking');
function prepend_non_breaking($more_link) {
	return str_replace(' &lt;a ', '&amp;nbsp;&lt;a ', $more_link);
}</pre>
<h4>Related posts</h4><ol>
<li><a href='http://konstruktors.com/blog/wordpress/3364-sticky-posts-as-category-description/' rel='bookmark' title='Use Sticky Posts as Category&nbsp;Description'>Use Sticky Posts as Category&nbsp;Description</a></li>
<li><a href='http://konstruktors.com/blog/wordpress/944-widget-context-update-word-count-check/' rel='bookmark' title='Widget Context Update &#8212; Word Count&nbsp;Check'>Widget Context Update &#8212; Word Count&nbsp;Check</a></li>
<li><a href='http://konstruktors.com/blog/media-publishing/873-rights-to-read-a-book-out-loud/' rel='bookmark' title='Rights to Read a Book Out&nbsp;Loud'>Rights to Read a Book Out&nbsp;Loud</a></li>
</ol>
<p><a href="http://feedads.g.doubleclick.net/~a/N1aKp-REGukT-LaLqNZz9cLnr-U/0/da"><img src="http://feedads.g.doubleclick.net/~a/N1aKp-REGukT-LaLqNZz9cLnr-U/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/N1aKp-REGukT-LaLqNZz9cLnr-U/1/da"><img src="http://feedads.g.doubleclick.net/~a/N1aKp-REGukT-LaLqNZz9cLnr-U/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/KonstruktorsNotes/~4/V1lKFNmoxmU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://konstruktors.com/blog/wordpress/3462-avoid-widow-read-more-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://konstruktors.com/blog/wordpress/3462-avoid-widow-read-more-links/</feedburner:origLink></item>
		<item>
		<title>Rasmus Lerdorf on the History and Future of PHP</title>
		<link>http://feedproxy.google.com/~r/KonstruktorsNotes/~3/3U4Pq2xMsuQ/</link>
		<comments>http://konstruktors.com/blog/the-web/3543-rasmus-lerdorf-on-the-history-and-future-of-php/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 21:03:47 +0000</pubDate>
		<dc:creator>Kaspars</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://konstruktors.com/?p=3543</guid>
		<description><![CDATA[Etsy Code as Craft on LiveStream]]></description>
			<content:encoded><![CDATA[<p><iframe width="500" height="310" src="http://cdn.livestream.com/embed/etsycodeascraft?layout=4&#038;clip=pla_e00bfe34-e377-42d1-b859-ccf97b12c519&#038;color=0xe7e7e7&#038;autoPlay=false&#038;mute=false&#038;iconColorOver=0x888888&#038;iconColor=0x777777&#038;allowchat=true&#038;height=310&#038;width=500" frameborder="0" scrolling="no"></iframe></p>
<p><a href="http://www.livestream.com/etsycodeascraft">Etsy Code as Craft on LiveStream</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/eXm4f88R2KXNC2oqxiD0Vz617bM/0/da"><img src="http://feedads.g.doubleclick.net/~a/eXm4f88R2KXNC2oqxiD0Vz617bM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/eXm4f88R2KXNC2oqxiD0Vz617bM/1/da"><img src="http://feedads.g.doubleclick.net/~a/eXm4f88R2KXNC2oqxiD0Vz617bM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/KonstruktorsNotes/~4/3U4Pq2xMsuQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://konstruktors.com/blog/the-web/3543-rasmus-lerdorf-on-the-history-and-future-of-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://konstruktors.com/blog/the-web/3543-rasmus-lerdorf-on-the-history-and-future-of-php/</feedburner:origLink></item>
		<item>
		<title>Add Custom URL Redirects to Your WordPress Dashboard Areas or Login Page</title>
		<link>http://feedproxy.google.com/~r/KonstruktorsNotes/~3/XZMGJFTOS4U/</link>
		<comments>http://konstruktors.com/blog/wordpress/3529-custom-redirect-to-wordpress-login-dashboard/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 10:00:30 +0000</pubDate>
		<dc:creator>Kaspars</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://konstruktors.com/?p=3529</guid>
		<description><![CDATA[Ever wanted to use something like example.com/backend or example.com/dash to access your WordPress dashboard or login area? Here is a simple snippet of PHP for your functionality plugin or functions.php to do just that &#8212; it uses standard WordPress URL rewrite API. Update: turns out that in WordPress 3.4 there are new default redirects (/admin, [...]]]></description>
			<content:encoded><![CDATA[<p>Ever wanted to use something like <code>example.com/backend</code> or <code>example.com/dash</code> to access your WordPress dashboard or login area? <del>Here is a simple snippet of PHP for your <em>functionality</em> plugin or <code>functions.php</code> to do just that &#8212; it uses standard WordPress URL rewrite API.</del></p>
<p><strong>Update:</strong> turns out that in WordPress 3.4 there are new default redirects (<code>/admin</code>, <code>/dashboard</code> and <code>/login</code>) implemented in the core (see <a href="http://core.trac.wordpress.org/changeset/19880">this ticket</a>). So here is a better way to add your own redirects which will work only if you don&#8217;t have a page or post with the same name (slug) already:</p>
<h3>Updated Version:</h3>
<pre>add_action('template_redirect', 'add_my_custom_redirects');
function add_my_custom_redirects() {
	if (!is_404())
		return;
	$current_uri = untrailingslashit($_SERVER['REQUEST_URI']);
	$my_admin_uris = array(
		home_url('dash', 'relative'),
		home_url('your-custom-uri', 'relative')
	);
	if (in_array($current_uri, $my_admin_uris)) {
 		wp_redirect(admin_url());
 		exit;
	}
}</pre>
<h3>The Obsolete Version:</h3>
<pre>add_filter('generate_rewrite_rules', 'add_my_custom_rewrites');
function add_my_custom_rewrites($wp_rewrite) {
    $my_rewrites = array(
	'dash' =&gt; 'wp-admin'
    );
    $wp_rewrite-&gt;rules = $my_rewrites + $wp_rewrite-&gt;rules;
}</pre>
<h4>Related posts</h4><ol>
<li><a href='http://konstruktors.com/blog/wordpress/3594-wordpress-dashboard-quick-login/' rel='bookmark' title='Enable WordPress Dashboard Quick&nbsp;Login'>Enable WordPress Dashboard Quick&nbsp;Login</a></li>
<li><a href='http://konstruktors.com/blog/web-design/570-wordpress-dashboard-ui-idea-3/' rel='bookmark' title='WordPress Dashboard UI Idea&nbsp;#3'>WordPress Dashboard UI Idea&nbsp;#3</a></li>
<li><a href='http://konstruktors.com/blog/wordpress/270-baltic-amber-1-32-removed-youhave-from-dashboard/' rel='bookmark' title='Baltic Amber 1.32 &#8212; removed .youare section from your WordPress&nbsp;Dashboard'>Baltic Amber 1.32 &#8212; removed .youare section from your WordPress&nbsp;Dashboard</a></li>
</ol>
<p><a href="http://feedads.g.doubleclick.net/~a/9wSS50onU87A8uVM2PctoFY29b0/0/da"><img src="http://feedads.g.doubleclick.net/~a/9wSS50onU87A8uVM2PctoFY29b0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/9wSS50onU87A8uVM2PctoFY29b0/1/da"><img src="http://feedads.g.doubleclick.net/~a/9wSS50onU87A8uVM2PctoFY29b0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/KonstruktorsNotes/~4/XZMGJFTOS4U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://konstruktors.com/blog/wordpress/3529-custom-redirect-to-wordpress-login-dashboard/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<feedburner:origLink>http://konstruktors.com/blog/wordpress/3529-custom-redirect-to-wordpress-login-dashboard/</feedburner:origLink></item>
		<item>
		<title>How to Remove All Line Breaks from Text Using Regex</title>
		<link>http://feedproxy.google.com/~r/KonstruktorsNotes/~3/XUozLHgj7Fg/</link>
		<comments>http://konstruktors.com/blog/web-design/3517-regex-remove-all-line-breaks-from-text/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 10:45:27 +0000</pubDate>
		<dc:creator>Kaspars</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://konstruktors.com/?p=3517</guid>
		<description><![CDATA[If you are generating &#60;meta&#62; description tags automatically (e.g. by including all headings of the document), chances are that you&#8217;re extracting it from various sources of content that contain different HTML elements and line breaks in them. Here is a simple regular expression to remove all line breaks, carriage returns and tabs, and replace them with an [...]]]></description>
			<content:encoded><![CDATA[<p>If you are generating <code>&lt;meta&gt;</code> <em>description</em> tags automatically (e.g. by <a title="Extract headings and headlines from HTML documents" href="http://konstruktors.com/blog/web-design/3507-regex-extract-headings-h1-h2-h3-from-html/">including all headings of the document</a>), chances are that you&#8217;re extracting it from various sources of content that contain different HTML elements and line breaks in them. Here is a simple regular expression to <strong>remove all line breaks, carriage returns and tabs</strong>, and replace them with an empty space.</p>
<pre>$text = preg_replace("/\r\n+|\r+|\n+|\t+/i", " ", $text);</pre>
<h4>Related posts</h4><ol>
<li><a href='http://konstruktors.com/blog/wordpress/2920-remove-inline-css-line-breaks-galleries/' rel='bookmark' title='Remove Inline CSS and Line Breaks in WordPress&nbsp;Galleries'>Remove Inline CSS and Line Breaks in WordPress&nbsp;Galleries</a></li>
<li><a href='http://konstruktors.com/blog/web-design/3507-regex-extract-headings-h1-h2-h3-from-html/' rel='bookmark' title='How to Extract Heading Content (H1, H2, etc.) from an HTML String Using&nbsp;Regex'>How to Extract Heading Content (H1, H2, etc.) from an HTML String Using&nbsp;Regex</a></li>
<li><a href='http://konstruktors.com/blog/random-musings/191-simple-fullscreen-text-editors-for-students-bloggers-writers/' rel='bookmark' title='Simple Fullscreen Text Editors for Students, Bloggers, Journalists and&nbsp;Writers'>Simple Fullscreen Text Editors for Students, Bloggers, Journalists and&nbsp;Writers</a></li>
</ol>
<p><a href="http://feedads.g.doubleclick.net/~a/njfPHuoBypfRHcb73zS8KVIdKAY/0/da"><img src="http://feedads.g.doubleclick.net/~a/njfPHuoBypfRHcb73zS8KVIdKAY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/njfPHuoBypfRHcb73zS8KVIdKAY/1/da"><img src="http://feedads.g.doubleclick.net/~a/njfPHuoBypfRHcb73zS8KVIdKAY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/KonstruktorsNotes/~4/XUozLHgj7Fg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://konstruktors.com/blog/web-design/3517-regex-remove-all-line-breaks-from-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://konstruktors.com/blog/web-design/3517-regex-remove-all-line-breaks-from-text/</feedburner:origLink></item>
		<item>
		<title>How to Extract Heading Content (H1, H2, etc.) from an HTML String Using Regex</title>
		<link>http://feedproxy.google.com/~r/KonstruktorsNotes/~3/SwYuTyHGsks/</link>
		<comments>http://konstruktors.com/blog/web-design/3507-regex-extract-headings-h1-h2-h3-from-html/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 10:10:49 +0000</pubDate>
		<dc:creator>Kaspars</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://konstruktors.com/?p=3507</guid>
		<description><![CDATA[Headlines and headings are usually very relevant and descriptive pieces of information for any HTML page. You might want to include them into the description &#60;meta&#62; tag on that page. Here is a simple regular expression to extract all those headings: preg_match_all('&#124;&#60;h[^&#62;]+&#62;(.*)&#60;/h[^&#62;]+&#62;&#124;iU', $html, $headings); Related posts Logos and Names Are Not&#160;Headings How to Create Beautiful [...]]]></description>
			<content:encoded><![CDATA[<p>Headlines and headings are usually very relevant and descriptive pieces of information for any HTML page. You might want to include them into the <em>description</em> <code>&lt;meta&gt;</code> tag on that page. Here is a simple regular expression to extract all those headings:</p>
<pre>preg_match_all('|&lt;h[^&gt;]+&gt;(.*)&lt;/h[^&gt;]+&gt;|iU', $html, $headings);</pre>
<h4>Related posts</h4><ol>
<li><a href='http://konstruktors.com/blog/web-design/31-logos-names-are-not-h1-headings/' rel='bookmark' title='Logos and Names Are Not&nbsp;Headings'>Logos and Names Are Not&nbsp;Headings</a></li>
<li><a href='http://konstruktors.com/blog/web-design/125-how-to-create-beautiful-and-elegant-html-lists-using-css/' rel='bookmark' title='How to Create Beautiful and Elegant HTML Lists Using&nbsp;CSS'>How to Create Beautiful and Elegant HTML Lists Using&nbsp;CSS</a></li>
<li><a href='http://konstruktors.com/blog/web-design/2036-remove-index-html-from-the-url/' rel='bookmark' title='Remove index.html from the&nbsp;URL'>Remove index.html from the&nbsp;URL</a></li>
</ol>
<p><a href="http://feedads.g.doubleclick.net/~a/zH7TntF1_M0ja0pOuPqWVRFfhVo/0/da"><img src="http://feedads.g.doubleclick.net/~a/zH7TntF1_M0ja0pOuPqWVRFfhVo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/zH7TntF1_M0ja0pOuPqWVRFfhVo/1/da"><img src="http://feedads.g.doubleclick.net/~a/zH7TntF1_M0ja0pOuPqWVRFfhVo/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/KonstruktorsNotes/~4/SwYuTyHGsks" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://konstruktors.com/blog/web-design/3507-regex-extract-headings-h1-h2-h3-from-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://konstruktors.com/blog/web-design/3507-regex-extract-headings-h1-h2-h3-from-html/</feedburner:origLink></item>
		<item>
		<title>How to Add Post Categories and Tags as #Hashtags to Tweets Automatically with the Simple Twitter Connect Plugin</title>
		<link>http://feedproxy.google.com/~r/KonstruktorsNotes/~3/47jszXVS0zE/</link>
		<comments>http://konstruktors.com/blog/wordpress/3478-add-post-categories-tags-as-hashtags-to-tweets-automatically-stc-plugin/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 00:16:03 +0000</pubDate>
		<dc:creator>Kaspars</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://konstruktors.com/?p=3478</guid>
		<description><![CDATA[Simple Twitter Connect is a really useful, simple and well coded plugin by Otto (@Otto42) that allows you to post tweets right from your WordPress dashboard or automatically after publishing new posts. A standard tweet containing a prefix (such as &#8220;New blog post:&#8221;), post title and a link to that post is generated automatically by the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ottopress.com/wordpress-plugins/simple-twitter-connect/">Simple Twitter Connect</a> is a really useful, simple and well coded plugin by <a href="http://ottopress.com/">Otto</a> (<a href="https://twitter.com/#!/Otto42">@Otto42</a>) that allows you to post tweets right from your WordPress dashboard or automatically after publishing new posts.</p>
<p>A standard tweet containing a prefix (such as &#8220;New blog post:&#8221;), post title and a link to that post is generated automatically by the plugin. Wouldn&#8217;t it be nice to include also <strong>post categories and tags as hashtags</strong> in order to add additional metadata along with the post title? Like so:</p>
<div id="attachment_3483" class="wp-caption aligncenter" style="width: 510px"><a href="http://konstruktors.com/wp-content/uploads/2012/02/twitter-publisher-before-after.jpg"><img class="size-medium wp-image-3483" title="Post categories and tags added as hashtags in Twitter Publisher using Simple Twitter Connect plugin" src="http://konstruktors.com/wp-content/uploads/2012/02/twitter-publisher-before-after-500x292.jpg" alt="Post categories and tags added as hashtags in Twitter Publisher using Simple Twitter Connect plugin" width="500" height="292" /></a><p class="wp-caption-text">Post categories and tags replaced or added to tweet as hashtags</p></div>
<p>Thanks to the <code>stc_publish_text</code> filter supplied with the plugin there is an easy way to do it. Add this snippet to your theme&#8217;s <code>functions.php</code>:</p>
<pre>add_filter('stc_publish_text', 'add_taxonomies_to_tweets', 10, 2);
function add_taxonomies_to_tweets($output, $id) {
	if ($cats = get_the_category($id))
		foreach ($cats as $c =&gt; $cat)
			$output = add_taxonomy_hashtag($output, $cat-&gt;cat_name);
	if ($tags = get_the_tags($id))
		foreach ($tags as $t =&gt; $tag)
			$output = add_taxonomy_hashtag($output, $tag-&gt;name);
	return $output;
}
function add_taxonomy_hashtag($tweet, $tax) {
	if (stripos($tax, ' ')) // Remove whitespace
		$tax = str_replace(' ', '', $tax);
	if (strlen($tweet) + 1 &gt; 140) { // Check if the new tweet is not too long
		return $tweet;
	} elseif (stripos($tweet, $tax)) {  // Replace an existing word with a tag
		return str_replace($tax, '#' . $tax, $tweet);
	} elseif (strlen($tweet) + strlen($tax) + 1 &lt; 140) { // or simply append it
		return $tweet . ' #' . $tax;
	}
	return $tweet;
}</pre>
<h4>Related posts</h4><ol>
<li><a href='http://konstruktors.com/blog/wordpress/3203-how-to-automatically-add-image-credit-or-source-url-to-photo-captions-in-wordpress/' rel='bookmark' title='How to Automatically Add Image Credit or Source URL to Photo Captions in&nbsp;WordPress'>How to Automatically Add Image Credit or Source URL to Photo Captions in&nbsp;WordPress</a></li>
<li><a href='http://konstruktors.com/blog/wordpress/1850-automatically-escape-html-entities-of-code-fragments-in-comments/' rel='bookmark' title='Automatically Escape HTML Entities of Code Fragments in&nbsp;Comments'>Automatically Escape HTML Entities of Code Fragments in&nbsp;Comments</a></li>
<li><a href='http://konstruktors.com/blog/wordpress/2667-how-to-add-shortlink-support-to-twitter-tools/' rel='bookmark' title='How to Add Shortlink Support to Twitter&nbsp;Tools'>How to Add Shortlink Support to Twitter&nbsp;Tools</a></li>
</ol>
<p><a href="http://feedads.g.doubleclick.net/~a/LOfKGax1_Qi_mrE1fYEMS7ssgJM/0/da"><img src="http://feedads.g.doubleclick.net/~a/LOfKGax1_Qi_mrE1fYEMS7ssgJM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/LOfKGax1_Qi_mrE1fYEMS7ssgJM/1/da"><img src="http://feedads.g.doubleclick.net/~a/LOfKGax1_Qi_mrE1fYEMS7ssgJM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/KonstruktorsNotes/~4/47jszXVS0zE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://konstruktors.com/blog/wordpress/3478-add-post-categories-tags-as-hashtags-to-tweets-automatically-stc-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://konstruktors.com/blog/wordpress/3478-add-post-categories-tags-as-hashtags-to-tweets-automatically-stc-plugin/</feedburner:origLink></item>
	</channel>
</rss>

