<?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>WP Garage &#187; Tips</title>
	<atom:link href="http://wpgarage.com/category/tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://wpgarage.com</link>
	<description>wordpress tricks, hacks, and tips</description>
	<lastBuildDate>Tue, 15 May 2012 11:49:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Data Serialization, WordPress, and my new best friend</title>
		<link>http://wpgarage.com/tips/data-serialization-wordpress-and-my-new-best-friend/</link>
		<comments>http://wpgarage.com/tips/data-serialization-wordpress-and-my-new-best-friend/#comments</comments>
		<pubDate>Thu, 03 May 2012 13:00:16 +0000</pubDate>
		<dc:creator>Rebecca Markowitz</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[data serialization]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[site migration]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://wpgarage.com/?p=1296</guid>
		<description><![CDATA[<p>Recently, Miriam wrote about Data Serialization and what a pain in the tuchus it can be to migrate a site that has serialized links in the database. So, today, when I migrated one of our client&#8217;s sites from our staging server to the live/production server, I was frustrated that some of the widgets weren&#8217;t showing [...]</p><p>This post was originally published at <a href="http://wpgarage.com/tips/data-serialization-wordpress-and-my-new-best-friend/">Data Serialization, WordPress, and my new best friend</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:right;"><div class="socialize-in-button socialize-in-button-right"><a href="http://twitter.com/share" class="twitter-share-button" data-counturl="http://wpgarage.com/tips/data-serialization-wordpress-and-my-new-best-friend/" data-url="http://illum.in/JPJ31m" data-text="Data Serialization, WordPress, and my new best friend" data-count="vertical" data-via="wpgarage" data-related="wpgarage"><!--Tweetter--></a></div><div class="socialize-in-button socialize-in-button-right"><iframe src="http://www.facebook.com/plugins/like.php?href=http://wpgarage.com/tips/data-serialization-wordpress-and-my-new-best-friend/&amp;layout=box_count&amp;show_faces=true&amp;width=50&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px !important; height:65px;" allowTransparency="true"></iframe></div><div class="socialize-in-button socialize-in-button-right"><g:plusone size="tall" href="http://wpgarage.com/tips/data-serialization-wordpress-and-my-new-best-friend/"></g:plusone></div></div><p>Recently, Miriam wrote about <a href="http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/">Data Serialization</a> and what a pain in the <a href="http://en.wiktionary.org/wiki/tuchus">tuchus</a> it can be to migrate a site that has serialized links in the database.</p>
<p>So, today, when I migrated one of our client&#8217;s sites from our staging server to the live/production server, I was frustrated that some of the widgets weren&#8217;t showing up properly after my usual Search and Replace of the old URL to the new URL in the database, yet excited that I could read her post to find a solution. Frustrexcited, if you will.</p>
<p>Here are the solutions I tried and read on to see which one actually worked:</p>
<p><a href="http://wordpress.org/extend/plugins/wp-live-server-deploy/">WP Live Server Deploy</a>: This plugin was featured on <a href="http://wpmu.org/automate-wordpress-migration-with-wp-live-server-deploy/">wpmu.org</a>, looked like a really good solution. The plugin claimed to quickly migrate your development/staging site to your live/production site, including changing all the old URLs to new URLs. Well, it sounded great, but.. it didn&#8217;t work.  After I entered the new site&#8217;s FTP information into the plugin settings, the FTP info was verified. But when I clicked the &#8220;Automate Deployment&#8221; button, the plugin couldn&#8217;t &#8220;determines the remote capabilities of the server&#8221;.  Then I tried to do a manual backup using this plugin and that didn&#8217;t work either. Next.</p>
<p><a href="http://petesaia.com/work/peach/">Peach</a> - An online tool that lets you drag-and-drop a .sql file into the page and set a new domain. I was skeptical because it looked too easy. When I dropped in my .sql file it said there were 0 serialized links. Boo.</p>
<p> <a href="http://wordpress.org/extend/plugins/wp-migrate-db/">WP Migrate DB </a>- My new best friend. Please meet WP Migrate DB. No, he/she doesn&#8217;t have a fancy, memorable name, but I definitely wanted to hug and high-five this plugin after it did what it said it would do. It changed all the old URLs to new URLs in the database, including fixing serialized links, and lets you download the new SQL file. I was so happy not to have to mess with any Search and Replace plugins or SQL queries in PHPMyAdmin. </p>
<p>This post was originally published at <a href="http://wpgarage.com/tips/data-serialization-wordpress-and-my-new-best-friend/">Data Serialization, WordPress, and my new best friend</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wpgarage.com/tips/data-serialization-wordpress-and-my-new-best-friend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data portability and data serialization in WordPress</title>
		<link>http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/</link>
		<comments>http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 13:46:51 +0000</pubDate>
		<dc:creator>Miriam Schwab</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[data serialization]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[serialization]]></category>

		<guid isPermaLink="false">http://wpgarage.com/?p=1276</guid>
		<description><![CDATA[<p>Over at illuminea, we’ve been migrating WordPress sites for years. So we thought we’d seen it all when it came to WordPress migration. And yet, recently we encountered an issue that we had never dealt with before, that puts a snag in the ease with which you can move WordPress sites: data serialization. One of [...]</p><p>This post was originally published at <a href="http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/">Data portability and data serialization in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:right;"><div class="socialize-in-button socialize-in-button-right"><a href="http://twitter.com/share" class="twitter-share-button" data-counturl="http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/" data-url="http://illum.in/HxQEUf" data-text="Data portability and data serialization in WordPress" data-count="vertical" data-via="wpgarage" data-related="wpgarage"><!--Tweetter--></a></div><div class="socialize-in-button socialize-in-button-right"><iframe src="http://www.facebook.com/plugins/like.php?href=http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/&amp;layout=box_count&amp;show_faces=true&amp;width=50&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px !important; height:65px;" allowTransparency="true"></iframe></div><div class="socialize-in-button socialize-in-button-right"><g:plusone size="tall" href="http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/"></g:plusone></div></div><p>Over at <a href="http://illuminea.com" target="_blank">illuminea</a>, we’ve been migrating WordPress sites for years. So we thought we’d seen it all when it came to WordPress migration. And yet, recently we encountered an issue that we had never dealt with before, that puts a snag in the ease with which you can move WordPress sites: data serialization.</p>
<p>One of the reasons we love WordPress is because it’s so future-proof. What I mean by that is that once you have created a WordPress site, you aren’t stuck where you are for the following reasons:</p>
<ul>
<li>Content is separate from form so at any point you can completely redesign your site while retaining content and link structure. This is important to ensure you don’t lose traffic from search engines and inbound links.</li>
<li>As long as the WordPress software continues to be developed, it will continue to support modern web technologies so users are not left with an archaic system that, for example, adores IE7 but doesn’t know what HTML5 is.</li>
<li>Your site is portable. You need to move a site to another server, or even another domain name? No problem. A few steps related to find-and-replace, exporting and importing the database, and setting up global 301 redirects (if you’ve changed domains) and you’re there.</li>
</ul>
<p>All the above is true, except the data portability point. It’s not quite as true as I thought it was.</p>
<h2>Data serialization and its impact on data portability</h2>
<p>(I am a big newbie when it comes to data serialization, so the following is based on what I’ve managed to learn over the while and could very well be inaccurate/wrong.)</p>
<p>It seems that developers use data serialization in order to improve performance or efficiency in a database. Instead of creating a new table for data, or storing data in a table which could end up having wasteful empty fields, you can keep all the data in an array in one field. This leads to saved space and simplified SQL statements. Serialized data is stored and recovered using PHP’s <a href="http://us2.php.net/manual/en/function.serialize.php" target="_blank">serialize()</a> and <a href="http://us2.php.net/manual/en/function.unserialize.php" target="_blank">unserialize()</a> functions. <a href="http://terriswallow.com/weblog/2008/php-serialize-unserialize-whats-it-do-whats-it-for/" target="_blank">Terri Swallow explains</a> how using serialized data for her multi-user plugin helped save her from creating hundreds of new options for every new user created.</p>
<p>Here&#8217;s an example of serialized data from <a title="WordPress Serializing Data" href="http://nacin.com/2010/04/18/wordpress-serializing-data/" target="_blank">Andrew Nacin</a>:</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>
<div><code>$data</code> <code>= </code><code>array</code><code>( </code><code>'apple'</code><code>, </code><code>'banana'</code><code>, </code><code>'orange'</code> <code>);</code></div>
<div><code>echo</code> <code>serialize( </code><code>$data</code> <code>);</code></div>
<div><code>// Result is a string we can unserialize into an array:</code></div>
<div><code>// a:3:{i:0;s:5:"apple";i:1;s:6:"banana";i:2;s:6:"orange";}</code></div>
</div>
</td>
</tr>
</tbody>
</table>
<p>But there are serious drawbacks to using serialized data. One problem is that you can’t run a MySQL query on serialized data. The data would have to be pulled out of the table via PHP, unserialized, and then searched using PHP instead of MySQL (thanks to <a href="http://www.catchmyfame.com/2009/09/29/introduction-to-php%E2%80%99s-serialize-function/" target="_blank">Catch My Fame</a> for explaining this). So let’s say you are storing user data in serialized format, but you want to find out how many of your users are from Australia, you can’t get that info easily.</p>
<p>A serious problem, in my opinion, is the impact serialization has on data portability. It makes it near-impossible to port a WordPress site from one domain to another without losing data. Another possible, yet unlikely issue, is if you need to port data from WordPress into another programming language – admittedly a rare occurrence, but a possible one that needs to be considered.</p>
<p>There are developers out there who are very frustrated by the use of serialized data:</p>
<p>An <a href="http://il.php.net/manual/en/function.serialize.php#107717" target="_blank">anonymous comment</a> left on the PHP manual entry for serialize():</p>
<blockquote>
<p>Please! please! please! DO NOT serialize data and place it into your database. Serialize can be used that way, but that&#8217;s missing the point of a relational database and the datatypes inherent in your database engine. Doing this makes data in your database non-portable, difficult to read, and can complicate queries. If you want your application to be portable to other languages, like let&#8217;s say you find that you want to use Java for some portion of your app that it makes sense to use Java in, serialization will become a pain in the buttocks. You should always be able to query and modify data in the database without using a third party intermediary tool to manipulate data to be inserted…That&#8217;s not to say serialize() is useless. It&#8217;s not&#8230;Just don&#8217;t abuse serialize because the next guy who comes along will have a maintenance or migration nightmare.</p>
</blockquote>
<p><a href="http://alexscammon.com/2011/06/migrating-wordpress-blogs-fixing-the-serialization/" target="_blank">Alexander Scammon:</a> “WordPress does a silly thing.  It has serialized data inside its database.”</p>
<p>Serialized data usage that can have a serious impact on WordPress portability:</p>
<ul>
<li>Some widget data (though for some reason we’ve never had issues retaining widgets via a database dump)</li>
<li>Some theme settings</li>
<li>Plugin data</li>
</ul>
<p>It was related to serialized plugin data that we had our first encounter with data serialization. We had installed a plugin to help a client manage a technical issue on their site without having to get too technical. They entered hundreds of entries in the plugin, but upon moving the site from development to production, the data disappeared. By that point, there was no way to recover it unfortunately, but we had definitely learned a painful, important lesson.</p>
<h2>So what do we do?</h2>
<p>Some suggestions:</p>
<ol>
<li>Theme and plugin developers: please seriously consider whether the benefits of serializing your data outweigh the potential future problems it could cause.</li>
<li>Theme and plugin developers: if you must use serialized data, please try to make sure there’s some way to export and import the data. Even a simple .csv export is better than nothing.</li>
<li>WordPress users: try to ascertain before using a theme or plugin whether the data is stored in a serialized format.</li>
</ol>
<p>But let’s say you find yourself with a database that includes serialized data. Here are some tools created by generous souls that might be able to help you port your data without losing it:</p>
<p><a href="http://petesaia.com/work/peach/" target="_blank">Peach</a> – an online utility that aims to deal with the fact that WordPress stores URLs in serialized format, which makes it hard to move a site from one domain to another, or from staging to production. To use this tool (which works best in Chrome) ou drag-and-drop an .sql file into the square in the middle of the page, and set a new domain.</p>
<p><a href="http://interconnectit.com/124/search-and-replace-for-wordpress-databases/" target="_blank">WordPress Search and Replace Tool</a> – this script can also handle multiply nested serializations and multi-byte Unicode changes, which is important now that internationalized domain names are allowed. The code will work for any platform that stores PHP serialized arrays in a MySQL database (Drupal, Joomla, etc.). You must delete the script from your server once you’re finished with it.</p>
<p><a href="http://www.bangheadonwall.net/?attachment_id=227" target="_blank">fix_serialization.php</a> – Not much description provided with this tool, but Alex Scammon provides instructions in <a href="http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/#comment-63684">his comment below</a>.</p>
<p><a title="WP Migrate DB" href="http://wordpress.org/extend/plugins/wp-migrate-db/" target="_blank">WP Migrate DB</a> &#8211; this is a plugin that exports your database as a MySQL data dump, does a find and replace on URLs and file paths, then allows you to save it to your computer.  It even takes into account serialized data and updates the string length values. (thanks <a href="http://somadesign.ca/" target="_blank">Matt Wiebe</a>)</p>
<p>After trying these tools, we wrote an <a href="http://wpgarage.com/tips/data-serialization-wordpress-and-my-new-best-friend/">update on data serialization</a>.</p>
<p>This post was originally published at <a href="http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/">Data portability and data serialization in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>How to localize a Hebrew website&#8217;s Dashboard with WordPress Multisite</title>
		<link>http://wpgarage.com/tips/how-to-localize-a-hebrew-websites-dashboard-with-wordpress-multisite/</link>
		<comments>http://wpgarage.com/tips/how-to-localize-a-hebrew-websites-dashboard-with-wordpress-multisite/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 12:01:43 +0000</pubDate>
		<dc:creator>Rebecca Markowitz</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[WordPress as CMS]]></category>
		<category><![CDATA[Hebrew]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[localize]]></category>
		<category><![CDATA[multisite]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://wpgarage.com/?p=1175</guid>
		<description><![CDATA[<p>Many of our clients request English and Hebrew websites and ever since WordPress 3.0 made WordPress Multisite a breeze to install, we&#8217;ve been using it so that clients can manage all their sites from one Dashboard. Logically, our clients want the Hebrew website to have a Hebrew Dashboard. However, out of the box, WordPress Multisite defaults to [...]</p><p>This post was originally published at <a href="http://wpgarage.com/tips/how-to-localize-a-hebrew-websites-dashboard-with-wordpress-multisite/">How to localize a Hebrew website&#8217;s Dashboard with WordPress Multisite</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:right;"><div class="socialize-in-button socialize-in-button-right"><a href="http://twitter.com/share" class="twitter-share-button" data-counturl="http://wpgarage.com/tips/how-to-localize-a-hebrew-websites-dashboard-with-wordpress-multisite/" data-url="http://illum.in/tfulkV" data-text="How to localize a Hebrew website&#8217;s Dashboard with WordPress Multisite" data-count="vertical" data-via="wpgarage" data-related="wpgarage"><!--Tweetter--></a></div><div class="socialize-in-button socialize-in-button-right"><iframe src="http://www.facebook.com/plugins/like.php?href=http://wpgarage.com/tips/how-to-localize-a-hebrew-websites-dashboard-with-wordpress-multisite/&amp;layout=box_count&amp;show_faces=true&amp;width=50&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px !important; height:65px;" allowTransparency="true"></iframe></div><div class="socialize-in-button socialize-in-button-right"><g:plusone size="tall" href="http://wpgarage.com/tips/how-to-localize-a-hebrew-websites-dashboard-with-wordpress-multisite/"></g:plusone></div></div><p>Many of our clients request English and Hebrew websites and ever since WordPress 3.0 made <a href="http://codex.wordpress.org/Create_A_Network">WordPress Multisite</a> a breeze to install, we&#8217;ve been using it so that clients can manage all their sites from one Dashboard.</p>
<p>Logically, our clients want the Hebrew website to have a Hebrew Dashboard. However, out of the box, WordPress Multisite defaults to English, and needs a bit of tweaking to localize the Dashboard into the language of your choice.</p>
<p>(Friendly warning: if you don&#8217;t change the Hebrew Dashboard into Hebrew, the post/page Editor is really problematic and usually messes up alignment and styling on the site.)</p>
<p>So here&#8217;s how to localize a site within WordPress Multisite into Hebrew, but you can apply the same general rules for any language.</p>
<p>1.<a href="http://he.wordpress.org/"><img title="wordpresshebrew" src="http://wpgarage.com/wp-content/uploads/2011/11/wordpresshebrew.png" alt="" width="459" height="66" /></a></p>
<p>Download Hebrew WordPress from the <a href="http://he.wordpress.org/">Hebrew WordPress website</a> and copy the language folder or use this <a href="http://wpgarage.com/wp-content/uploads/2011/11/languages.zip">zip file of the language folder (from WordPress version 3.2.1</a>).  <strong>Upload the language folder</strong> into you&#8217;re site&#8217;s wp-content folder. </p>
<p>2. Add the following to wp-config.php: <strong>define (&#8216;WPLANG&#8217;, &#8216;he_IL&#8217;);</strong></p>
<p><a href="http://wpgarage.com/wp-content/uploads/2011/11/wpconfigscreenshot.png"><img title="wpconfigscreenshot" src="http://wpgarage.com/wp-content/uploads/2011/11/wpconfigscreenshot.png" alt="" width="580" height="167" /></a></p>
<p>3. Go into your Network Admin Area by clicking in the top right corner on Howdy, YourName and click on <strong>Network Admin</strong></p>
<p><img class="size-full wp-image-1184 alignnone" title="howdy" src="http://wpgarage.com/wp-content/uploads/2011/11/howdy.png" alt="" width="161" height="118" /></p>
<p>4. In the left Navigation menu, click on Sites &gt; <strong>All Sites</strong></p>
<p><img title="allsites" src="http://wpgarage.com/wp-content/uploads/2011/11/allsites.png" alt="" width="147" height="82" /></p>
<p>5. On the Hebrew site, click <strong>Edit</strong></p>
<p><a href="http://wpgarage.com/wp-content/uploads/2011/11/hebrewedit.png"><img title="hebrewedit" src="http://wpgarage.com/wp-content/uploads/2011/11/hebrewedit.png" alt="" width="319" height="76" /></a></p>
<p>&nbsp;</p>
<p>6. Once you&#8217;re in the Edit Site area, click on <strong>Settings</strong></p>
<p><img class="size-full wp-image-1179 alignnone" title="sitesettings" src="http://wpgarage.com/wp-content/uploads/2011/11/sitesettings.png" alt="" width="488" height="440" /></p>
<p>7. Once you&#8217;re in the Settings tab, search for the line &#8220;WPLANG&#8221; and fill in the language reference code such as he_IL.</p>
<p><img class="size-full wp-image-1177 alignnone" title="heil" src="http://wpgarage.com/wp-content/uploads/2011/11/heil.png" alt="" width="411" height="51" /></p>
<p>&nbsp;</p>
<p>Or, as Andrea pointed out, you can go into the Hebrew site&#8217;s General Settings and switch the language from there.<img class="size-full wp-image-1198 alignnone" title="sitelang" src="http://wpgarage.com/wp-content/uploads/2011/11/sitelang.png" alt="" width="389" height="122" /></p>
<p>&nbsp;</p>
<p>That&#8217;s it!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div>
<div> </div>
</div>
<p>This post was originally published at <a href="http://wpgarage.com/tips/how-to-localize-a-hebrew-websites-dashboard-with-wordpress-multisite/">How to localize a Hebrew website&#8217;s Dashboard with WordPress Multisite</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wpgarage.com/tips/how-to-localize-a-hebrew-websites-dashboard-with-wordpress-multisite/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to Re-enable and Allow Comments in Older Posts in WordPress</title>
		<link>http://wpgarage.com/tips/allow-comments-in-old-posts-wordpress/</link>
		<comments>http://wpgarage.com/tips/allow-comments-in-old-posts-wordpress/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 22:17:59 +0000</pubDate>
		<dc:creator>Rebecca Markowitz</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[comments]]></category>

		<guid isPermaLink="false">http://wpgarage.com/?p=1160</guid>
		<description><![CDATA[<p>We had a client come to us and ask how to re-enable comments on older posts. I started searching around and found 2 ways of allowing comments on many posts at once. 1. Use the built-in WordPress Bulk Edit feature. This feature was introduced back in version 2.7 but only now did I fall in [...]</p><p>This post was originally published at <a href="http://wpgarage.com/tips/allow-comments-in-old-posts-wordpress/">How to Re-enable and Allow Comments in Older Posts in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:right;"><div class="socialize-in-button socialize-in-button-right"><a href="http://twitter.com/share" class="twitter-share-button" data-counturl="http://wpgarage.com/tips/allow-comments-in-old-posts-wordpress/" data-url="http://illum.in/tCyX5G" data-text="How to Re-enable and Allow Comments in Older Posts in WordPress" data-count="vertical" data-via="wpgarage" data-related="wpgarage"><!--Tweetter--></a></div><div class="socialize-in-button socialize-in-button-right"><iframe src="http://www.facebook.com/plugins/like.php?href=http://wpgarage.com/tips/allow-comments-in-old-posts-wordpress/&amp;layout=box_count&amp;show_faces=true&amp;width=50&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px !important; height:65px;" allowTransparency="true"></iframe></div><div class="socialize-in-button socialize-in-button-right"><g:plusone size="tall" href="http://wpgarage.com/tips/allow-comments-in-old-posts-wordpress/"></g:plusone></div></div><p>We had a client come to us and ask how to re-enable comments on older posts. I started searching around and found 2 ways of allowing comments on many posts at once.</p>
<h3>1. Use the built-in <a href="http://lorelle.wordpress.com/2011/04/22/cleaning-up-post-tags-with-wordpress-bulk-edit/">WordPress Bulk Edit feature</a>.</h3>
<p>This feature was introduced back in version 2.7 but only now did I fall in love with it!  It allows you to batch edit lots of information for multiple posts at one time: change categories, modify the author, change the post status, and most importantly (for me, right now), open or close comments.</p>
<p>To use it, go to:</p>
<ul>
<li>Posts &gt; All Posts</li>
<li>Select the posts you want to edit by checking off the checkboxes next to the post title.</li>
<li>Click on the Bulk Actions dropdown menu. </li>
<li>Select Edit and click Apply. It&#8217;s a bit scary to have to click on Apply before you&#8217;ve made changes but once you build up the courage, it&#8217;s worth it! No changes will happen yet.</li>
<li>In the Comments dropdown, select Allow.</li>
<li>If you want to edit more than the default 20 posts per page in the admin screen, you can go to Screen Options in the top right corner and change the number of Posts Displayed per page.</li>
<li>Done! However, I had to check a few posts to make sure that it actually worked. I think that there is something buggy in the feature because it only worked some of the time. Maybe there is a max of how many posts can be bulk edited at once.</li>
</ul>
<p style="text-align: center;"><img class="size-full wp-image-1163 aligncenter" title="bulkedit" src="http://wpgarage.com/wp-content/uploads/2011/11/bulkedit.png" alt="" width="523" height="160" /></p>
<p>This method is good if you don&#8217;t want to get into the database. My only complaint is that it&#8217;s a bit time consuming and there&#8217;s no way of seeing a list of all the posts that have comments open or closed.</p>
<h3>2. Do some SQL work in the Database</h3>
<p>The other option for allowing comments globally in WordPress is to get into the PHPMyAdmin (ugh) and run <a href="http://digwp.com/2010/08/wordpress-sql-comments/">a script to open all comments</a>.  Although it can be scary to get into the database and run SQL queries, it is the most accurate way of making sure the comments are open on all your posts.</p>
<p>Here&#8217;s the SQL query to run to open all comments:</p>
<pre class="wp-code-highlight prettyprint">&lt;code&gt;UPDATE wp_posts SET comment_status = 'open';&lt;/code&gt;</pre>
<p>As you can see, each method has its pros and cons. Making this change within the dashboard is not as daunting but you don&#8217;t feel like you have as much control over the process. Also, it seems not to work 100% of the time, for some reason. And going into the database is, well, daunting. But otherwise, at least you know that it does what it&#8217;s supposed to do. It&#8217;s very possible that the dashboard direction is one we&#8217;d explain to a client but that if this is something we&#8217;re working on, we&#8217;ll prefer to go the database route.</p>
<p>This post was originally published at <a href="http://wpgarage.com/tips/allow-comments-in-old-posts-wordpress/">How to Re-enable and Allow Comments in Older Posts in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wpgarage.com/tips/allow-comments-in-old-posts-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to embed a .wmv file in WordPress</title>
		<link>http://wpgarage.com/tips/how-to-embed-wmv-in-wordpress/</link>
		<comments>http://wpgarage.com/tips/how-to-embed-wmv-in-wordpress/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 16:56:23 +0000</pubDate>
		<dc:creator>Deena Levenstein</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[embed wmv in wordpress]]></category>
		<category><![CDATA[embedding in wordpress]]></category>
		<category><![CDATA[wmv]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://wpgarage.com/?p=1121</guid>
		<description><![CDATA[<p>A client recently asked us how they could embed .wmv files in their WordPress site so that it plays in a video player. Interestingly, we&#8217;re so used to working with video websites like YouTube and Vimeo which allow easy embedding by just pasting the URL into the editor that we&#8217;d never had to deal with [...]</p><p>This post was originally published at <a href="http://wpgarage.com/tips/how-to-embed-wmv-in-wordpress/">How to embed a .wmv file in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:right;"><div class="socialize-in-button socialize-in-button-right"><a href="http://twitter.com/share" class="twitter-share-button" data-counturl="http://wpgarage.com/tips/how-to-embed-wmv-in-wordpress/" data-url="http://illum.in/uNR15S" data-text="How to embed a .wmv file in WordPress" data-count="vertical" data-via="wpgarage" data-related="wpgarage"><!--Tweetter--></a></div><div class="socialize-in-button socialize-in-button-right"><iframe src="http://www.facebook.com/plugins/like.php?href=http://wpgarage.com/tips/how-to-embed-wmv-in-wordpress/&amp;layout=box_count&amp;show_faces=true&amp;width=50&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px !important; height:65px;" allowTransparency="true"></iframe></div><div class="socialize-in-button socialize-in-button-right"><g:plusone size="tall" href="http://wpgarage.com/tips/how-to-embed-wmv-in-wordpress/"></g:plusone></div></div><p>A client recently asked us how they could embed .wmv files in their WordPress site so that it plays in a video player. Interestingly, we&#8217;re so used to working with video websites like YouTube and Vimeo which allow <a title="The ultimate guide to embedding HTML and iframes in WordPress" href="http://wpgarage.com/tips/embed-html-iframes-wordpress/">easy embedding by just pasting the URL into the editor</a> that we&#8217;d never had to deal with this issue before. But after some trial by our awesome CEO Miriam Schwab and, well, really not much error, we quickly figured it out. So, without further ado, here is the way to embed .wmv files into WordPress posts and pages:</p>
<p>1. Install, activate and configure the <a href="http://wordpress.org/extend/plugins/tinymce-advanced/" target="_blank">TinyMCE Advanced</a> plugin. This plugin allows you to add useful buttons to the WYSIWYG through a drag and drop settings page.</p>
<p>2. In the settings (Settings &gt;TinyMCE Advanced), drag the &#8220;Insert Movie&#8221; button into the WYSIWYG:</p>
<p><img class="aligncenter size-full wp-image-1146" title="tinymce buttons arrangement" src="http://wpgarage.com/wp-content/uploads/2011/11/tinymce-buttons-arrangement.png" alt="" width="718" height="185" /></p>
<p>3. Save changes.</p>
<p>4. Upload the video file of your choice to your WordPress site through Media &gt; Add New.</p>
<p>5. Copy the URL of that video:</p>
<div><img class="aligncenter size-full wp-image-1144" title="wordpress media embedding wmv files" src="http://wpgarage.com/wp-content/uploads/2011/11/wordpress-media-embedding-wmv-files.png" alt="" width="647" height="430" /></div>
<p>6. Open up the editor of the post/page where you&#8217;d like to embed the video (if you aren&#8217;t there already).</p>
<p>7. Click on the button which says &#8220;Insert/edit embedded media&#8221; when you hover over it:</p>
<p><img class="size-full wp-image-1127 aligncenter" title="embed video icon" src="http://wpgarage.com/wp-content/uploads/2011/10/embed-video-icon.png" alt="" width="30" height="29" /></p>
<div>You&#8217;ll get to this popup window:</div>
<p><img class="size-full wp-image-1128 aligncenter" title="insert edit embedded media" src="http://wpgarage.com/wp-content/uploads/2011/10/insert-edit-embedded-media.png" alt="" width="309" height="372" /></p>
<p>5. Under &#8220;Type,&#8221; choose &#8220;Windows Media.&#8221;</p>
<p>6. Paste the URL in File/URL field.</p>
<p>7. Click &#8220;Insert.&#8221;</p>
<p>8. Save Draft or Publish.</p>
<p>9. Verify that it worked in the front end.</p>
<p>Note that the user&#8217;s browser has to have the Windows Media Player plug-in, and it needs to run to play the video in a player.</p>
<div>Here&#8217;s an example of an action-packed .wmv video:</div>
<div><object width="320" height="240" classid="clsid:6bf52a52-394a-11d3-b153-00c04f79faa6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"><param name="url" value="http://dw4.convertfiles.com/files/0372823001320684458/snail%20moving%20along%20on%20sidewalk.wmv" /><param name="url" value="http://dw4.convertfiles.com/files/0372823001320684458/snail%20moving%20along%20on%20sidewalk.wmv" /><embed width="320" height="240" type="application/x-mplayer2" src="http://dw4.convertfiles.com/files/0372823001320684458/snail%20moving%20along%20on%20sidewalk.wmv" url="http://dw4.convertfiles.com/files/0372823001320684458/snail%20moving%20along%20on%20sidewalk.wmv" /></object></div>
<div> </div>
<div>The exciting news&#8230; By taking advantage of this function in WordPress, you could actually embed any video from around the web as long as you have the .wmv URL. Which might not be the nicest thing, but it&#8217;s possible.</div>
<div> </div>
<div>Enjoy!</div>
<p>This post was originally published at <a href="http://wpgarage.com/tips/how-to-embed-wmv-in-wordpress/">How to embed a .wmv file in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wpgarage.com/tips/how-to-embed-wmv-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
<enclosure url="http://dw4.convertfiles.com/files/0372823001320684458/snail%20moving%20along%20on%20sidewalk.wmv" length="31281213" type="video/asf" />
		</item>
		<item>
		<title>How to share a draft with a private URL in WordPress</title>
		<link>http://wpgarage.com/plugins/how-to-share-a-draft-with-a-private-url-in-wordpress/</link>
		<comments>http://wpgarage.com/plugins/how-to-share-a-draft-with-a-private-url-in-wordpress/#comments</comments>
		<pubDate>Mon, 30 May 2011 08:25:13 +0000</pubDate>
		<dc:creator>Rebecca Markowitz</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[draft]]></category>
		<category><![CDATA[expire]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[private url]]></category>
		<category><![CDATA[share]]></category>

		<guid isPermaLink="false">?p=1018</guid>
		<description><![CDATA[<p>It&#8217;s been a while since I&#8217;ve been so excited about a plugin. Enough that it inspired me to write a post about it. I&#8217;ve always wanted to share drafts of posts with people before I publish them but didn&#8217;t want to bother them with &#8220;can you log in, look at the post and let me [...]</p><p>This post was originally published at <a href="http://wpgarage.com/plugins/how-to-share-a-draft-with-a-private-url-in-wordpress/">How to share a draft with a private URL in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:right;"><div class="socialize-in-button socialize-in-button-right"><a href="http://twitter.com/share" class="twitter-share-button" data-counturl="http://wpgarage.com/plugins/how-to-share-a-draft-with-a-private-url-in-wordpress/" data-url="http://illum.in/pMMocy" data-text="How to share a draft with a private URL in WordPress" data-count="vertical" data-via="wpgarage" data-related="wpgarage"><!--Tweetter--></a></div><div class="socialize-in-button socialize-in-button-right"><iframe src="http://www.facebook.com/plugins/like.php?href=http://wpgarage.com/plugins/how-to-share-a-draft-with-a-private-url-in-wordpress/&amp;layout=box_count&amp;show_faces=true&amp;width=50&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px !important; height:65px;" allowTransparency="true"></iframe></div><div class="socialize-in-button socialize-in-button-right"><g:plusone size="tall" href="http://wpgarage.com/plugins/how-to-share-a-draft-with-a-private-url-in-wordpress/"></g:plusone></div></div><p>It&#8217;s been a while since I&#8217;ve been so excited about a plugin. Enough that it inspired me to write a post about it.</p>
<p>I&#8217;ve always wanted to share drafts of posts with people before I publish them but didn&#8217;t want to bother them with &#8220;can you log in, look at the post and let me know if there are any changes.&#8221; Now I just send a private URL and they can look over the draft without logging in! You can also set the expiration date of the draft URL so you have control over how long the link is available for.</p>
<p><img class="alignnone size-full wp-image-1026" title="sharedraft" src="http://wpgarage.com/wp-content/uploads/2011/05/sharedraft-e1306418015274.png" alt="" width="450" height="115" /></p>
<p>There is one annoying thing about this plugin though: if you are logged in, then the draft is blank and you can&#8217;t read it.</p>
<p>I totally think the sharing drafts via URL functionality should be integrated into the next version of WordPress.</p>
<p>Here&#8217;s the plugin I used, aptly called&#8230; <a href="http://wordpress.org/extend/plugins/shareadraft/">Share a Draft</a>.</p>
<p>This post was originally published at <a href="http://wpgarage.com/plugins/how-to-share-a-draft-with-a-private-url-in-wordpress/">How to share a draft with a private URL in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wpgarage.com/plugins/how-to-share-a-draft-with-a-private-url-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Allow Editor access level to add users in WordPress</title>
		<link>http://wpgarage.com/code-snippets/allow-editor-access-level-to-add-users-in-wordpress/</link>
		<comments>http://wpgarage.com/code-snippets/allow-editor-access-level-to-add-users-in-wordpress/#comments</comments>
		<pubDate>Sun, 29 May 2011 08:23:04 +0000</pubDate>
		<dc:creator>Rebecca Markowitz</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">?p=1020</guid>
		<description><![CDATA[<p>Recently, a client asked us to allow editors to add users on their WordPress site. They wanted this feature so that the site managers wouldn&#8217;t be tempted to click on any of the settings, and possibly mess something up. I know this is super specific but it did come up for us so maybe it [...]</p><p>This post was originally published at <a href="http://wpgarage.com/code-snippets/allow-editor-access-level-to-add-users-in-wordpress/">Allow Editor access level to add users in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:right;"><div class="socialize-in-button socialize-in-button-right"><a href="http://twitter.com/share" class="twitter-share-button" data-counturl="http://wpgarage.com/code-snippets/allow-editor-access-level-to-add-users-in-wordpress/" data-url="http://illum.in/pyCoBL" data-text="Allow Editor access level to add users in WordPress" data-count="vertical" data-via="wpgarage" data-related="wpgarage"><!--Tweetter--></a></div><div class="socialize-in-button socialize-in-button-right"><iframe src="http://www.facebook.com/plugins/like.php?href=http://wpgarage.com/code-snippets/allow-editor-access-level-to-add-users-in-wordpress/&amp;layout=box_count&amp;show_faces=true&amp;width=50&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px !important; height:65px;" allowTransparency="true"></iframe></div><div class="socialize-in-button socialize-in-button-right"><g:plusone size="tall" href="http://wpgarage.com/code-snippets/allow-editor-access-level-to-add-users-in-wordpress/"></g:plusone></div></div><p>Recently, a client asked us to allow editors to add users on their WordPress site. They wanted this feature so that the site managers wouldn&#8217;t be tempted to click on any of the settings, and possibly mess something up. I know this is super specific but it did come up for us so maybe it will be relevant for you.</p>
<p>Here&#8217;s what I did:</p>
<ol>
<li>Install and activate the <a href="http://wordpress.org/extend/plugins/members/">Members Plugin</a></li>
<li>Go to Settings &gt; Members Components and activate the Edit Roles component<br />
<a href="http://wpgarage.com/wp-content/uploads/2011/05/roles.png"><img title="roles" src="http://wpgarage.com/wp-content/uploads/2011/05/roles-e1306417148772.png" alt="" width="450" height="382" /></a></li>
<li>Go to Users &gt; Roles. Click on Editor. In the options panel, check off create_users, edit_users, and delete_users.<br />
<img title="capabilities" src="http://wpgarage.com/wp-content/uploads/2011/05/capabilities-e1306417194666.png" alt="" width="450" height="353" /></li>
<li>Add <a href="http://wordpress.stackexchange.com/questions/4479/editor-can-create-any-new-user-except-administrator">this code</a> into your funcitons.php file.</li>
<li>Test it out.</li>
<li>That&#8217;s it.</li>
</ol>
<p>This post was originally published at <a href="http://wpgarage.com/code-snippets/allow-editor-access-level-to-add-users-in-wordpress/">Allow Editor access level to add users in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wpgarage.com/code-snippets/allow-editor-access-level-to-add-users-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to add images and styles to the WordPress custom menu</title>
		<link>http://wpgarage.com/css/how-to-add-images-and-styles-to-the-wordpress-custom-menu/</link>
		<comments>http://wpgarage.com/css/how-to-add-images-and-styles-to-the-wordpress-custom-menu/#comments</comments>
		<pubDate>Tue, 24 May 2011 09:59:06 +0000</pubDate>
		<dc:creator>Rebecca Markowitz</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[css styles]]></category>
		<category><![CDATA[custom menu]]></category>
		<category><![CDATA[icons]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[screen options]]></category>

		<guid isPermaLink="false">http://?p=978</guid>
		<description><![CDATA[<p>There are lots of good plugins out there for displaying social media profiles on your site, but what if you want to use your own icons? And you want your client to be able to easily manage the links to these social profiles? The solution is to create a custom menu in WordPress with unique [...]</p><p>This post was originally published at <a href="http://wpgarage.com/css/how-to-add-images-and-styles-to-the-wordpress-custom-menu/">How to add images and styles to the WordPress custom menu</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:right;"><div class="socialize-in-button socialize-in-button-right"><a href="http://twitter.com/share" class="twitter-share-button" data-counturl="http://wpgarage.com/css/how-to-add-images-and-styles-to-the-wordpress-custom-menu/" data-url="http://illum.in/qpZgYo" data-text="How to add images and styles to the WordPress custom menu" data-count="vertical" data-via="wpgarage" data-related="wpgarage"><!--Tweetter--></a></div><div class="socialize-in-button socialize-in-button-right"><iframe src="http://www.facebook.com/plugins/like.php?href=http://wpgarage.com/css/how-to-add-images-and-styles-to-the-wordpress-custom-menu/&amp;layout=box_count&amp;show_faces=true&amp;width=50&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px !important; height:65px;" allowTransparency="true"></iframe></div><div class="socialize-in-button socialize-in-button-right"><g:plusone size="tall" href="http://wpgarage.com/css/how-to-add-images-and-styles-to-the-wordpress-custom-menu/"></g:plusone></div></div><p>There are lots of good plugins out there for displaying social media profiles on your site, but what if you want to use your own icons? And you want your client to be able to easily manage the links to these social profiles? The solution is to create a custom menu in WordPress with unique CSS styles assigned to each of those menu items. But how?</p>
<p>Here&#8217;s what we worked on: A custom menu with unique icons for Twitter, YouTube and Facebook:</p>
<p><a href="http://wpgarage.com/wp-content/uploads/2011/05/connecticons.png"><img class="alignnone size-full wp-image-984" title="connecticons" src="http://wpgarage.com/wp-content/uploads/2011/05/connecticons.png" alt="" width="263" height="237" /></a></p>
<p>&nbsp;</p>
<p>After searching the web for how to add images to the WordPress custom menu, we tried the <a href="http://wordpress.org/extend/plugins/custom-menu-images/">Custom Menu Images</a> plugin with no success. We even tried some crazy <a href="http://wpveda.com/how-to-add-images-inside-wordpress-3-0-custom-menu">workarounds</a> like trying to put the image path inside the navigation label! WTW?!  Crazy, but true. And it didn&#8217;t even work in the end. It printed out the  character tag &amp;lt;  reading the HTML instead of rendering it.</p>
<p>And then, we saw the light! In the form of the Screen Options pull down tab right there in the Custom Menu screen in front of our faces! Well, actually the light came from this <a href="http://www.ivorpadilla.net/cuztomizing-wordpress-custom-menu-icons/">post</a> that told us where to look. How did we ever miss it? It was so obvious! Once you know where to look, that is. So here&#8217;s what to do:</p>
<ol>
<li>Go into your Custom Menu (functionality added in WordPress 3.0) under Appearance &gt; Menus</li>
<li>Click on Screen Options in the top right corner of your screen</li>
<li>Check the checkbox next to CSS Styles in the Show Advanced Menu Properties</li>
<li>Create your menu</li>
<li>In your menu item, in the CSS Classes field, enter the name of the CSS style you want to associate with that menu item. Just the name of the class without the period. Ex. &#8220;twitterstyle&#8221;</li>
<li>Go into your CSS file and add the style and add images and/or styles as you see fit.</li>
</ol>
<p>&nbsp;</p>
<p><img class="alignnone size-full wp-image-981" title="wpcssstyles" src="http://wpgarage.com/wp-content/uploads/2011/05/wpcssstyles1-e1305816663856.png" alt="" /></p>
<p>That&#8217;s it. More coolness that Screen Options can do, <a href="news-views/quicktip-show-more-pages-in-your-wordpress-screen/">Show more pages in your WordPress Dashboard</a>.</p>
<p>This post was originally published at <a href="http://wpgarage.com/css/how-to-add-images-and-styles-to-the-wordpress-custom-menu/">How to add images and styles to the WordPress custom menu</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wpgarage.com/css/how-to-add-images-and-styles-to-the-wordpress-custom-menu/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>QuickTip: Show More Pages in your WordPress Dashboard</title>
		<link>http://wpgarage.com/news-views/quicktip-show-more-pages-in-your-wordpress-screen/</link>
		<comments>http://wpgarage.com/news-views/quicktip-show-more-pages-in-your-wordpress-screen/#comments</comments>
		<pubDate>Thu, 12 May 2011 09:37:57 +0000</pubDate>
		<dc:creator>Rebecca Markowitz</dc:creator>
				<category><![CDATA[News & Views]]></category>
		<category><![CDATA[Shorties]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Pages]]></category>
		<category><![CDATA[panel]]></category>
		<category><![CDATA[posts]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[screen options]]></category>
		<category><![CDATA[show]]></category>

		<guid isPermaLink="false">?p=954</guid>
		<description><![CDATA[<p>I am totally in love with the Screen Options pull down tab in WordPress. I know it&#8217;s been there for a few versions, but I never fully appreciated it until I started using the Show on Screen feature that lets you fill in how many pages you want to show in your list of Pages. [...]</p><p>This post was originally published at <a href="http://wpgarage.com/news-views/quicktip-show-more-pages-in-your-wordpress-screen/">QuickTip: Show More Pages in your WordPress Dashboard</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:right;"><div class="socialize-in-button socialize-in-button-right"><a href="http://twitter.com/share" class="twitter-share-button" data-counturl="http://wpgarage.com/news-views/quicktip-show-more-pages-in-your-wordpress-screen/" data-url="http://illum.in/p63k1d" data-text="QuickTip: Show More Pages in your WordPress Dashboard" data-count="vertical" data-via="wpgarage" data-related="wpgarage"><!--Tweetter--></a></div><div class="socialize-in-button socialize-in-button-right"><iframe src="http://www.facebook.com/plugins/like.php?href=http://wpgarage.com/news-views/quicktip-show-more-pages-in-your-wordpress-screen/&amp;layout=box_count&amp;show_faces=true&amp;width=50&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px !important; height:65px;" allowTransparency="true"></iframe></div><div class="socialize-in-button socialize-in-button-right"><g:plusone size="tall" href="http://wpgarage.com/news-views/quicktip-show-more-pages-in-your-wordpress-screen/"></g:plusone></div></div><p>I am totally in love with the Screen Options pull down tab in WordPress. I know it&#8217;s been there for a few versions, but I never fully appreciated it until I started using the <strong>Show on Screen</strong> feature that lets you fill in how many pages you want to show in your list of Pages. Some of our clients sites have hundreds of pages and posts, and this gives them the option to see all their posts or pages at once and not have to click next next next.</p>
<p>To use it, go into the Pages or the Posts Tab in your Dashboard, click on <strong>Screen Options </strong>in the top right corner of the screen, and set the number in Show on Screen to something high, like 200. This functionality really adds to the elegance and amazing usability of WordPress.</p>
<p>Depending on which plugins you have installed, you&#8217;ll have different options in your Screen Options Panel. For example, we have <a href="http://yoast.com/wordpress/seo/">Yoast&#8217;s SEO Plugin</a> installed, so we can check or uncheck the checkboxes to show the plugin-related options in our Post/Page editing areas.</p>
<p>Here is a screenshot of how the Screen Options panel looks in WordPress.</p>
<p><img class="alignnone size-full wp-image-955" title="showscreen" src="http://wpgarage.com/wp-content/uploads/2011/05/showscreen1.png" alt="" width="500" height="103" /></p>
<p>This post was originally published at <a href="http://wpgarage.com/news-views/quicktip-show-more-pages-in-your-wordpress-screen/">QuickTip: Show More Pages in your WordPress Dashboard</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wpgarage.com/news-views/quicktip-show-more-pages-in-your-wordpress-screen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The ultimate guide to embedding HTML and iframes in WordPress</title>
		<link>http://wpgarage.com/tips/embed-html-iframes-wordpress/</link>
		<comments>http://wpgarage.com/tips/embed-html-iframes-wordpress/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 21:56:18 +0000</pubDate>
		<dc:creator>Miriam Schwab</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[embed]]></category>
		<category><![CDATA[embed iframe]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[oEmbed]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[WYSIWYG]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://?p=918</guid>
		<description><![CDATA[<p>Embedding HTML and iframe content in the WordPress editor is annoying – the editor strips out elements so you end up with broken code, or no code at all. Right? Wrong (sort of)! For some reason, it seems that the vast majority of WordPress users are not aware that as of version 2.9 we can [...]</p><p>This post was originally published at <a href="http://wpgarage.com/tips/embed-html-iframes-wordpress/">The ultimate guide to embedding HTML and iframes in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:right;"><div class="socialize-in-button socialize-in-button-right"><a href="http://twitter.com/share" class="twitter-share-button" data-counturl="http://wpgarage.com/tips/embed-html-iframes-wordpress/" data-url="http://illum.in/grApG5" data-text="The ultimate guide to embedding HTML and iframes in WordPress" data-count="vertical" data-via="wpgarage" data-related="wpgarage"><!--Tweetter--></a></div><div class="socialize-in-button socialize-in-button-right"><iframe src="http://www.facebook.com/plugins/like.php?href=http://wpgarage.com/tips/embed-html-iframes-wordpress/&amp;layout=box_count&amp;show_faces=true&amp;width=50&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px !important; height:65px;" allowTransparency="true"></iframe></div><div class="socialize-in-button socialize-in-button-right"><g:plusone size="tall" href="http://wpgarage.com/tips/embed-html-iframes-wordpress/"></g:plusone></div></div><p>Embedding HTML and iframe content in the <a href="http://wordpress.org" target="_blank">WordPress </a>editor is annoying – the editor strips out elements so you end up with broken code, or no code at all. Right?</p>
<p>Wrong (sort of)!</p>
<p>For some reason, it seems that the vast majority of WordPress users are not aware that as of version 2.9 we can all easily embed media like YouTube videos into the editor. All you have to do is paste the URL of the page with the item you want to embed into your post (this even works in the Visual editor), and the URL will magically turn into the embedded object.</p>
<p>Until WordPress version 2.9, one of the sanest ways (in my opinion) to embed videos in the WordPress editor was with the <a href="http://wordpress.org/extend/plugins/vipers-video-quicktags/" target="_blank">Viper’s Video Quicktags</a> plugin. You clicked an icon on the editor, pasted the URL of the page with the object to be embedded into a window, and poof! Your video was embedded properly.</p>
<p>Well, that very same Viper created a feature for <a href="http://www.viper007bond.com/2009/10/13/easy-embeds-for-wordpress-2-point-9/" target="_blank">easily embedding code in WordPress</a> that was incorporated into WP 2.9 that allows users to embed by inserting the URL only. The functionality depends on the <a href="http://www.oembed.com/" target="_blank">oEmbed</a> format, which allows an “embedded representation of a URL on third party sites.”</p>
<h2>Very nice, but how do I get it to work?</h2>
<p>In order for this to work, you need to make sure your site is configured to embed media from URLs. To do this, log in to your WordPress admin and:</p>
<ol>
<li>Go to Settings &gt; Media</li>
<li>Under Embeds select “When possible, embed the media content from a URL directly onto the page. For example: links to Flickr and YouTube.”</li>
<li>Save your settings.</li>
</ol>
<p><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="enable-wordpress-embeds" src="http://wpgarage.com/wp-content/uploads/2011/03/enable-wordpress-embeds.jpg" border="0" alt="enable-wordpress-embeds" width="640" height="80" /></p>
<p>Once that is selected, you can paste URLs from the following sites and they will yield the embedded object:</p>
<ul>
<li><a href="http://www.youtube.com/">YouTube</a></li>
<li><a href="http://vimeo.com/">Vimeo</a></li>
<li><a href="http://www.dailymotion.com/">DailyMotion</a></li>
<li><a href="http://blip.tv/">blip.tv</a></li>
<li><a href="http://www.flickr.com/">Flickr</a> (both videos and images)</li>
<li><a href="http://www.viddler.com/">Viddler</a></li>
<li><a href="http://www.hulu.com/">Hulu</a></li>
<li><a href="http://qik.com/">Qik</a></li>
<li><a href="http://revision3.com/">Revision3</a></li>
<li><a href="http://www.scribd.com/">Scribd</a></li>
<li><a href="http://photobucket.com/">Photobucket</a></li>
<li><a href="http://www.polldaddy.com/">PollDaddy</a></li>
<li><a href="http://video.google.com/">Google Video</a></li>
<li><a href="http://wordpress.tv/">WordPress.tv</a> (only <a href="http://videopress.com/">VideoPress</a>-type videos for the time being)</li>
<li><a href="http://www.smugmug.com/">SmugMug</a> (WordPress 3.0+)</li>
<li><a href="http://www.funnyordie.com/">FunnyOrDie.com</a> (WordPress 3.0+)</li>
</ul>
<p>Here’s an example:</p>
<p><a href="http://www.youtube.com/watch?v=z7hUBOGIXtY">http://www.youtube.com/watch?v=z7hUBOGIXtY</a></p>
<p>Ok, that’s not really an example, since all you see is a link. The reason it remained a link is because it’s hyperlinked (i.e. if you click on it, it will take you to that page), and it’s hyperlinked because when you enter a URL in the WordPress Visual editor, it automatically converts it to a hyperlink. This is probably the reason so many WordPress users aren’t aware of the ability to embed objects by just entering the URL.</p>
<p>In order to make the object appear, you have to remove the hyperlink so that the link is just text. To remove the hyperlink:</p>
<ol>
<li>Put your cursor anywhere on the link.</li>
<li>Click the broken link icon in the editor:<br />
<a href="wp-content/uploads/2011/03/wordpress-broken-link.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="wordpress-broken-link" src="http://wpgarage.com/wp-content/uploads/2011/03/wordpress-broken-link_thumb.jpg" border="0" alt="wordpress-broken-link" width="82" height="29" /></a></li>
</ol>
<p>Here’s the same link as above, with the hyperlink removed:</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/z7hUBOGIXtY?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/z7hUBOGIXtY?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The above works on both WordPress.com and WordPress.org sites. That’s good, but certainly not good enough. What about embedding presentations from <a href="http://slideshare.net" target="_blank">Slideshare</a>? Tweets from <a href="http://twitter.com" target="_blank">Twitter</a>? Well, read on for how to embed objects in this easy way from many more online services, not just the ones included in WordPress out of the box.</p>
<h2>Getting more out of oEmbed in WordPress</h2>
<p>Luckily there are ways to add other oEmbed providers to your site so you can embed media from numerous, even hundreds of different sites by just entering a URL in the WordPress editor. The WordPress Codex explains how you can <a href="http://codex.wordpress.org/Function_Reference/wp_oembed_add_provider" target="_blank">register oEmbed providers</a> to your site’s whitelist by calling a function from a plugin or your functions.php file. Nice, but a headache.</p>
<p>Another way to embed media from over 200 services in your WordPress site is by installing the <a href="http://wordpress.org/extend/plugins/embedly/" target="_blank">Embedly</a> plugin. The plugin uses the <a href="http://api.embed.ly/">Embedly API</a> to get the embed code and display it in a post.</p>
<p>To use Embedly, install the plugin, and then click on the Embedly area in the WordPress sidebar:</p>
<p><a href="wp-content/uploads/2011/03/embedly-sidebar.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="embedly-sidebar" src="http://wpgarage.com/wp-content/uploads/2011/03/embedly-sidebar_thumb.jpg" border="0" alt="embedly-sidebar" width="176" height="37" /></a></p>
<p>This takes you to an area that presents you with hundreds of services that you can choose to add support for in your site:</p>
<p><a href="wp-content/uploads/2011/03/embedly-configuration.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="embedly-configuration" src="http://wpgarage.com/wp-content/uploads/2011/03/embedly-configuration_thumb.jpg" border="0" alt="embedly-configuration" width="510" height="572" /></a></p>
<p>You can also see all the available services on the <a href="http://api.embed.ly/" target="_blank">Embedly API</a> page.</p>
<p>Embedly includes <a title="Twitter" href="http://twitter.com" target="_blank">twitter</a>, which is great. You just embed the URL of a specific tweet, and it turns it into a nice graphical format that pulls in the author&#8217;s avatar, name, and twitter background.</p>
<p>Here&#8217;s the URL of a tweet: <a href="http://twitter.com/#%21/photomatt/status/49253618385301504">http://twitter.com/#!/photomatt/status/49253618385301504</a>. Now here it is embedded:</p>
<p><!-- http://twitter.com/photomatt/statuses/49253618385301504 -->
<div id='embedly_twitter_40252683' class='embedly_twitter'>
<style type='text/css'> #embedly_twitter_40252683{background:url(http://a0.twimg.com/profile_background_images/4425511/color-small.jpg) #ffffff; padding:20px;} #embedly_twitter_40252683 p{background:#fff;padding:10px 12px 0px 12px;margin:0;min-height:48px;color:#000;font-size:18px;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} #embedly_twitter_40252683 .embedly_tweet_content{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} #embedly_twitter_40252683 p span.metadata{display:block;width:100%;clear:both;margin-top:0px;height:40px; padding-bottom: 12px;} #embedly_twitter_40252683 p span.metadata span.author{line-height:15px;color:#999;font-size:14px} #embedly_twitter_40252683 p span.metadata span.author a{line-height:15px;font-size:20px;vertical-align:middle} #embedly_twitter_40252683 p span.metadata span.author img{float:left;margin:0 10px 0 0px;width:48px;height:48px} #embedly_twitter_40252683 p a {color: #eb14c5; text-decoration:none;} #embedly_twitter_40252683 p a:hover{text-decoration:underline} #embedly_twitter_40252683 .embedly_timestamp{font-size:13px;display:inline-block;margin-top: 5px;} #embedly_twitter_40252683 .components-above span.embedly_timestamp{font-size:10px;margin-top: 1px;line-height:12px} #embedly_twitter_40252683 a {color: #eb14c5; text-decoration:none;} #embedly_twitter_40252683 a:hover{text-decoration:underline} #embedly_twitter_40252683 .tweet-screen-name {font-size: 14px; font-weight: bold;} #embedly_twitter_40252683 .tweet-full-name {padding-left: 4px; color: #999; font-size: 12px;} #embedly_twitter_40252683 .tweet-actions{margin-left: 10px;font-size:13px;display:inline-block;width:250px} #embedly_twitter_40252683 .components-above span.tweet-actions{font-size:10px} #embedly_twitter_40252683 .controls{line-height:12px!important} #embedly_twitter_40252683 .tweet-actions a {margin-left:5px} #embedly_twitter_40252683 .tweet-actions a b{font-weight:normal} #embedly_twitter_40252683 .components-above span.tweet-actions a b{vertical-align:baseline;line-height:12px} #embedly_twitter_40252683 .components-above .tweet-text{font-size:13px;vertical-align:baseline} #embedly_twitter_40252683 .tweet-image {float: left; width: 40px;} #embedly_twitter_40252683 .tweet-user-block-image {float: left; width: 48px; height: 48px} #embedly_twitter_40252683 .tweet-row {margin-left: 40px; margin-top: 3px;line-height: 17px;} #embedly_twitter_40252683 .tweet-user-block {margin-left: -40px;} #embedly_twitter_40252683 .stream-item {padding-bottom: 0px; margin-left: 12px;} #embedly_twitter_40252683 .simple-tweet-image img {margin-top: 4px;} #embedly_twitter_40252683 .simple-tweet-content {margin: 0 0 13px 0px; font-size: 14px; min-height:48px;} #embedly_twitter_40252683 .in-reply-to-border {border-color: #EBEBEB; border-style: solid; border-width: 1px 0 0;} #embedly_twitter_40252683 .in-reply-to-text {margin-left: 4px; padding-left: 8px; padding-right: 10px; color: #999; font-size: 12px;} #embedly_twitter_40252683 .tweet-actions i {background: transparent url(http://a2.twimg.com/a/1306889658/phoenix/img/sprite-icons.png) no-repeat;width:15px;height:15px;margin:0 4px -3px 3px;outline: none; text-indent:-99999px;vertical-align:baseline;display:inline-block;position:relative;} #embedly_twitter_40252683 .tweet-actions a.retweet-action i {background-position:-192px 0;} #embedly_twitter_40252683 .tweet-actions a.reply-action i {background-position:0 0;} #embedly_twitter_40252683 .tweet-actions a.favorite-action i {background-position:-32px 0;} </style>
<div class="embedly_tweet_content">
<div class="components-middle">
<p><span class='metadata'><span class='author'><a href='http://twitter.com/photomatt'><img src='http://a2.twimg.com/profile_images/14907452/twitter_normal.jpg' /></a><strong><a href='http://twitter.com/photomatt'>@photomatt</a></strong><br/>Matt Mullenweg</span></span>If you, like me, are appalled that WordPress 3.2 will drop important browser support, sign petition here: <a rel="nofollow" target="_blank" href="http://t.co/bMOTroN">http://t.co/bMOTroN</a><br/><span class='embedly_timestamp'><a title='Sat Mar 19 23:39:12 +0000 2011' href='http://twitter.com/photomatt/status/49253618385301504'>Mar 19</a> via <a href="http://twitter.com/#!/download/ipad" rel="nofollow">Twitter for iPad</a></span><span class="tweet-actions"><a href="https://twitter.com/intent/favorite?tweet_id=49253618385301504" class="favorite-action" title="Favorite"><span><i></i><b>Favorite</b></span></a><a href="https://twitter.com/intent/retweet?tweet_id=49253618385301504" class="retweet-action" title="Retweet"><span><i></i><b>Retweet</b></span></a><a href="https://twitter.com/intent/tweet?in_reply_to=49253618385301504" class="reply-action" title="Reply"><span><i></i><b>Reply</b></span></a></span></p>
</div>
</div>
</div>
<h2>So much embedding potential!</h2>
<p>So as you can see, with a few simple plugins you can change the entire way you approach adding third-party media to your site.</p>
<p>In the <a title="The ultimate guide to embedding HTML and iframes in WordPress – part 2" href="code-snippets/embedding-html-and-iframes-in-wordpress-2/">next post</a>, we’ll look at ways to embed HTML and iframes in your WordPress site from sites that are not oEmbed providers (have you ever tried embedding a Google Form in your site? It&#8217;s scary)! So check it out to learn <a title="The ultimate guide to embedding HTML and iframes in WordPress – part 2" href="code-snippets/embedding-html-and-iframes-in-wordpress-2/">how to embed HTML from anything in WordPress</a>.</p>
<h2>More reading:</h2>
<p><a href="code-snippets/embedding-html-and-iframes-in-wordpress-2/">The Ultimate guide to embedding HTML and iframes in WordPress  &#8211; part 2</a></p>
<p><a href="http://www.oembed.com/" target="_blank">Official oEmbed site</a> – learn how the format works, see examples</p>
<p><a href="http://codex.wordpress.org/Embeds" target="_blank">Embeds</a> entry in the WordPress Codex &#8211; goes through what embeds is, what WP supports, etc.</p>
<p>This post was originally published at <a href="http://wpgarage.com/tips/embed-html-iframes-wordpress/">The ultimate guide to embedding HTML and iframes in WordPress</a> on <a href="http://wpgarage.com">WP Garage</a> - <a href="http://wpgarage.com">WP Garage - wordpress tricks, hacks, and tips</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wpgarage.com/tips/embed-html-iframes-wordpress/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

