A Better Planet - WordPress NewsNews and updates from the world of WordPresshttp://abetterplanetwp.com
2015-03-31T21:48:14+01:00

text/html2015-03-31T20:30:18+01:00http://abetterplanetwp.comA Better PlanetWordPress Theme Directory Improvements Boost User Engagement, Commercial Themes Page Still Recoveringhttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/KNJ2BQUtjBE/wordpress-theme-directory-improvements-boost-user-engagement-commercial-themes-page-still-recovering
<p><a href="http://i0.wp.com/wptavern.com/wp-content/uploads/2015/01/new-themes-directory-featured.png" rel="prettyPhoto[41237]"><img src="http://i0.wp.com/wptavern.com/wp-content/uploads/2015/01/new-themes-directory-featured.png?resize=1001%2C489" alt="new-themes-directory-featured" class="aligncenter size-full wp-image-37113" data-recalc-dims="1" /></a></p>
<p>WordPress.org launched <a href="http://wptavern.com/wordpress-theme-directory-launches-new-design" target="_blank">a new design for the Theme Directory</a> just over a month ago and the meta team has continued to fix bugs and add enhancements. Preliminary stats and feedback indicate that the directory improvements have had a positive impact on users&#8217; ability to hunt for themes.</p>
<p>WordPress.org contributor Konstantin Obenland <a href="https://make.wordpress.org/meta/2015/03/31/theme-directory-stats/" target="_blank">reports</a> that user engagement has taken a significant jump:</p>
<blockquote><p>Users stay longer on the site, look at a lot more pages, and are way less likely to leave without any interaction. Comparing the week before the relaunch with this past week, session duration is up 9%. The amount of pages a user looks at is up 34%. And the overall bounce rate went down from ~30% to under 10%. Even on the homepage, where the bounce rate was at around 45%, we can see that drop by 2/3.</p></blockquote>
<p>The new design has not affected the directory&#8217;s search engine ranking or download numbers. Obenland states that visitor numbers remain constant, as do search engine referral numbers and theme downloads.</p>
<p>While the new image-heavy grid design makes it easier for users to find the best themes on WordPress.org, the <a href="https://wordpress.org/themes/commercial/" target="_blank">Commercial Themes</a> page has suffered a sharp decline in stats.</p>
<p>&#8220;The Commercial Themes page saw a drop of ~40% in visitors between the old Directory and the new,&#8221; Obenland said. &#8220;That number was at 60% right after launch, but it recovered and continues to recover with some adjustments we made to the link placement on the site.&#8221;</p>
<p>Despite the prominent placement of &#8220;Commercial Themes&#8221; link on the main theme directory page, users are spending more time browsing for free themes. The previous design of the directory made it tedious to search for a new theme, but it&#8217;s likely that the new UI is helping users to discover how many truly beautiful, high quality free themes are available on WordPress.org.</p>
<p>The Commercial Themes page received the same UI updates as the main directory, but the chief complaint from commercial theme developers following the design switch was the <a href="https://meta.trac.wordpress.org/ticket/947" target="_blank">placement and labeling of the link</a>. This particular aspect of the design has been iterated upon several times since the launch.</p>
<p>However, relentlessly pursuing better stats for commercial theme shops is contrary to the purpose of the WordPress theme directory, according to <a href="http://wptavern.com/wordpress-theme-directory-launches-new-design#comment-65597" target="_blank">an email reply</a> received by one concerned user who contacted themes@wordpress.org:</p>
<p>&#8220;Our goal wouldn’t be to maximize traffic to the sites listed on the commercial page so much as making the site as functional and useful as possible,&#8221; the WordPress.org representative stated.</p>
<p>The commercial themes link has ultimately received an even more prominent placement than it had in years past and is also benefiting from the updated design. If stats remain down, it&#8217;s possible that the new design better reflects the quality of the free themes available. Satisfied users are less likely to turn to commercial options when they can easily browse and filter free options. For now, commercial theme shops listed in the directory will have to settle on improving their marketing elsewhere.</p>
http://wptavern.com/wordpress-theme-directory-improvements-boost-user-engagement-commercial-themes-page-still-recoveringtext/html2015-03-31T20:30:18+01:00http://abetterplanetwp.comA Better PlanetWordPress Theme Directory Improvements Boost User Engagement, Commercial Themes Page Still Recoveringhttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/wHcQ4CFUYb8/out
http://wphunt.co/out?url=http%3A%2F%2Fwptavern.com%2Fwordpress-theme-directory-improvements-boost-user-engagement-commercial-themes-page-still-recoveringtext/html2015-03-31T19:21:20+01:00http://abetterplanetwp.comA Better PlanetFour Reasons to Fall in Love with Sass for WordPress (if You Haven’t Already)http://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/92dvtI9XN-Y/
<p>I presented at <a href="http://seattle.wordcamp.org/2015-experienced/">WordCamp Seattle</a> over the weekend, about a tool that has made my frontend development work <em>way</em> easier: <a href="http://sass-lang.com/">Sass, the CSS preprocessor</a>. It was really fun, and I&#8217;m still on a Sass kick, so this week I&#8217;m singing Sass&#8217;s praises to anyone out there who still feels nervous about diving in and learning what Sass is all about.</p>
<h2>What is Sass, Again?</h2>
<blockquote class="pullquote alignright"><p>If you like analogies: Sass is to CSS as PHP is to HTML.</p></blockquote>
<p>Sass is a <em>CSS preprocessor</em>: a more flexible and dynamic way to write style rules, which ultimately turn into the static CSS your browser understands. If you did well on the analogies part of your SATs: Sass is to CSS as PHP is to HTML.</p>
<p>If you&#8217;d like more of a conceptual introduction to Sass, I&#8217;ve written about Sass and WordPress before, <a href="http://wpshout.com/sass-wordpress-love-story/">in a previous WPShout article</a> and also <a href="http://torquemag.io/truly-useful-wordpress-development-tools-sass-local-development-and-git/#unique-identifier1">an article for Torque Magazine</a>, as well as on the blog of our consultancy, <a href="http://pressupinc.com/?s=sass">Press Up</a>. I&#8217;ve also got some <a href="http://wpshout.com/sass-presentation/">freshly delivered slides</a> on the subject.</p>
<p>When you&#8217;ve read up a bit, come back and I&#8217;ll do my best to convince you that Sass is wonderful and something you can use right away!</p>
<h3>Follow Along with Our Demo Plugin</h3>
<p>Items number two through four below are all technical things that Sass makes possible. This article gives code excerpts for each demo, and the full code for all three demos is in a custom plugin, which <a href="http://wpshout.com/media/2015/03/wpshout-sass-demo.zip">you&#8217;re free to download</a> and play around with as much as you like. The plugin contains:</p>
<ol>
<li>The Sass markup for the three examples.</li>
<li>The CSS the Sass compiles to.</li>
<li>A text file with the HTML markup used in the three examples.</li>
<li>A very basic PHP file to register the plugin and enqueue its CSS stylesheet.</li>
</ol>
<p>Let&#8217;s get going!</p>
<h2>1. Compiling Sass Doesn&#8217;t Have to Be Scary</h2>
<blockquote class="pullquote alignright"><p>Sass has good GUI compilers!</p></blockquote>
<p>The thing that initially kept me off Sass was the apparent difficulty of compiling it. &#8220;Compiling&#8221; Sass means having a computer turn your Sass styles into the CSS a browser understands. It&#8217;s very important, since without it a Sass file can&#8217;t do anything.</p>
<p>The default way you compile Sass is:</p>
<ol>
<li>Via Ruby.</li>
<li>In the command line.</li>
</ol>
<p>Those are two things I barely understand. I&#8217;d like to learn them better in the future, but for now here&#8217;s the good news: <em>Sass has good GUI compilers!</em></p>
<p>In other words, there&#8217;s a little thing you can download onto your desktop that handles compiling Sass with just a couple mouse clicks. I use <a href="http://koala-app.com/">Koala</a>, and look how easy it is:</p>
<p><iframe id="_ytid_13370" width="480" height="298" src="//www.youtube.com/embed/WPpC_388Ryk?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;showinfo=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;wmode=opaque&#038;vq=&#038;controls=2&#038;" frameborder="0" type="text/html" class="__youtube_prefs__" allowfullscreen webkitallowfullscreen mozallowfullscreen ></iframe></p>
<p><em>Subsequent</em> compiles are even easier, since Koala will just &#8220;auto-compile&#8221; in the background every time you save the Sass file. So if you&#8217;ve been kept out of Sass by fear of command-line Ruby, no longer!</p>
<h2>2. Dynamically Computed Colors</h2>
<p>Quick, what&#8217;s the HTML hex for the color that&#8217;s 30% lighter than blue? I don&#8217;t know, and if you&#8217;re tired of calculating color relationships, why not let Sass do it?</p>
<p>Hover or focus the buttons below. You&#8217;ll see that they all lighten to a uniformly lighter version of themselves.</p>
<div style="text-align: center;"><a class="demo-round-button" href="#">Blue</a> <a class="demo-round-button red" href="#">Red</a> <a class="demo-round-button gray" href="#">Gray</a> <a class="demo-round-button lime" href="#">Lime!</a></div>
<p>I never had to calculate those lighter colors—I&#8217;m doing that in Sass, as follows:</p>
<pre><code class="lang-scss">@mixin lighten-on-hover($color: #00f) {
&amp;:hover, &amp;:visited:hover, &amp;:focus, &amp;:visited:focus {
$lightened: lighten($color, 30%);
color: $lightened;
border: 1px $lightened solid;
}
}</code></pre>
<p>So I can set these buttons to any color, and I know that I can make them all lighten uniformly—all computed automatically by Sass. Pretty cool, right?</p>
<h2>3. Automatic Text Contrasts</h2>
<p>Sometimes you&#8217;re changing theme colors all around, and you do something silly, like put black text on a black background. That&#8217;s just what I did with the red block below: I set the colors in my Sass file to put red text on a red background.</p>
<div style="text-align: center;">
<div class="demo-block demo-normal-block">I&#8217;m okay</div>
<div class="demo-block demo-standout-block">I&#8217;m okay too!</div>
</div>
<p>Normally, this would mean invisible text—but Sass automatically lightened the text to pink. Here&#8217;s how:</p>
<pre><code class="lang-scss">@function ensureTextContrast($text-color, $background-color) {
/* Getting value for contrast */
$diff: lightness($text-color) - lightness($background-color);
/* If high enough contrast, @return original color */
@if abs($diff) &gt; 15% {
@return $text-color;
}
/* Dark background; lighten */
@if lightness($background-color) &lt; lightness(#aaaaaa) {
@return lighten($text-color, 30%);
}
/* Light background; darken */
@else {
@return darken($text-color, 30%);
}
}</code></pre>
<p>With this function in place, I don&#8217;t have to worry about changing my color variables theme-wide&mdash;Sass can catch any font-background combinations that are too hard to see.</p>
<h2>4. Think in Pixels, Code in <code>rem</code>s</h2>
<p><a href="http://snook.ca/archives/html_and_css/font-size-with-rem">The <code>rem</code> unit</a> is a great way to size a theme&#8217;s fonts such that they all change together. Doing it this way is good for accessibility, among other things. But <code>rem</code>s aren&#8217;t always very intuitive: sometimes, you&#8217;d like to think about your font sizes in pixels—the font sizes you&#8217;ll actually see if your browser&#8217;s font size is the default, as most people&#8217;s are.</p>
<p>With Sass, you don&#8217;t have to choose. Here&#8217;s how:</p>
<pre><code class="lang-scss">@mixin rpx($px: 16, $base: $base-font-size) {
font-size: $px + px;
font-size: ($px / unitless($base)) + rem;
}</code></pre>
<p>This mixin is very simple. It takes pixel values, as follows:</p>
<pre><code class="lang-scss">.demo-p {
@include rpx(16);
}
.demo-small {
@include rpx(10);
}</code></pre>
<p>And it gives those same values back in <code>rem</code>s (<em>and</em> pixels, for <a href="http://pressupinc.com/blog/2014/07/still-shouldnt-use-internet-explorer/">the one dumb old browser</a> that doesn&#8217;t understand <code>rem</code>s and needs a fallback). You get easy access to the pixel sizes you wanted, plus the accessibility of <code>rem</code>s, <em>and</em> a browser fallback, all at once. The result:</p>
<p class="demo-p">I&#8217;m normal-sized, <code>rem</code>s-based, and have a <code>px</code> fallback!</p>
<p class="demo-small">I&#8217;m small, <code>rem</code>s-based, and have a <code>px</code> fallback!</p>
<h2>Loving Sass Yet?</h2>
<p>Of all the technical tools I&#8217;ve taken on as a developer, Sass is one of the most useful, and has one of the gentlest learning curves. If you do any amount of front-end development, I&#8217;d strongly suggest checking it out.</p>
<p>What do you love about Sass? Or what&#8217;s still weird and confusing about it? We&#8217;d love to hear from you!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Nometech?a=qm17owPmeK8:v9RWB2PK0vs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Nometech?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Nometech?a=qm17owPmeK8:v9RWB2PK0vs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Nometech?i=qm17owPmeK8:v9RWB2PK0vs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Nometech?a=qm17owPmeK8:v9RWB2PK0vs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Nometech?i=qm17owPmeK8:v9RWB2PK0vs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Nometech?a=qm17owPmeK8:v9RWB2PK0vs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Nometech?i=qm17owPmeK8:v9RWB2PK0vs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Nometech?a=qm17owPmeK8:v9RWB2PK0vs:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Nometech?d=I9og5sOYxJI" border="0"></img></a>
</div><img src="//feeds.feedburner.com/~r/Nometech/~4/qm17owPmeK8" height="1" width="1" alt=""/>http://feedproxy.google.com/~r/Nometech/~3/qm17owPmeK8/text/html2015-03-31T18:56:46+01:00http://abetterplanetwp.comA Better PlanetWordPress School: Web Browser Shortcutshttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/Cwcz-4o4jA8/
https://lorelle.wordpress.com/2015/03/31/wordpress-school-web-browser-shortcuts/text/html2015-03-31T18:19:40+01:00http://abetterplanetwp.comA Better PlanetIntroducing Hewhttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/jcg2ufos6UQ/
Ahttp://themeshaper.com/2015/03/31/hew/text/html2015-03-31T18:06:50+01:00http://abetterplanetwp.comA Better PlanetAmazon Dash Button… why is this not an app?http://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/1_TBD7s1FBI/
<p><a href="https://www.amazon.com/oc/dash-button/"><img class="aligncenter size-large wp-image-2147" src="http://i2.wp.com/krogsgard.com/wp-content/uploads/2015/03/amazon-dash.jpg?resize=764%2C199" alt="amazon-dash" data-recalc-dims="1" /></a></p>
<blockquote><p>With Amazon Dash Button, you just press, and never run out. Choose from favorite household products.</p></blockquote>
<p><a href="https://www.amazon.com/oc/dash-button/">Amazon Dash Button</a> is a branded thing all over your house, one for every product. How much more sense would it make for this to be a very simple app of your favorite / curated products in an app? I have my phone in my pocket pretty much any time I&#8217;m doing laundry, making coffee, or any of these other scenarios around my house.</p>
<p>As a Prime member, I&#8217;d totally use a simple app, but the physical button concept just grosses me out.</p>
<p><a rel="nofollow" href="http://krogsgard.com/2015/amazon-dash-button-why-is-this-not-an-app/">Amazon Dash Button&#8230; why is this not an app?</a> is a post by <a rel="nofollow" href="http://krogsgard.com">Brian Krogsgard</a>. If you enjoyed it, please consider leaving a comment.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Krogsgard?a=DMB5bem1nmQ:Tw3mVWEh9zI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Krogsgard?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Krogsgard?a=DMB5bem1nmQ:Tw3mVWEh9zI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Krogsgard?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Krogsgard?a=DMB5bem1nmQ:Tw3mVWEh9zI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Krogsgard?i=DMB5bem1nmQ:Tw3mVWEh9zI:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="//feeds.feedburner.com/~r/Krogsgard/~4/DMB5bem1nmQ" height="1" width="1" alt=""/>http://feedproxy.google.com/~r/Krogsgard/~3/DMB5bem1nmQ/text/html2015-03-31T17:20:50+01:00http://abetterplanetwp.comA Better PlanetReminder: Core meetings move up an hour starting this week (DST)http://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/zig5ZqMUPBA/
<p>Following the Daylight Saving Time change in Europe over the weekend, <strong>all core meeting times will move up an hour</strong>, bringing those in North America and surrounding areas back in sync with those in Europe.</p>
<p>Contributor team and development meetings are held in <a href="https://make.wordpress.org/chat/">Slack</a>.</p>
<h4>Updated Meeting Times</h4>
<table>
<thead>
<tr>
<th>What</th>
<th>Where</th>
<th>When</th>
<th>Was (UTC)</th>
</tr>
</thead>
<tbody>
<tr>
<td>4.2 Core Bug Scrub</td>
<td><a href="https://wordpress.slack.com/messages/core/">#core</a></td>
<td><a href="http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150331T1500"><abbr class="date" title="2015-03-31T15:00:00+00:00">Tuesday 15:00 UTC 2015</abbr></a></td>
<td>16:00</td>
</tr>
<tr>
<td>4.2 NUX Working Group</td>
<td><a href="https://wordpress.slack.com/messages/core-flow/">#core-flow</a></td>
<td><a href="http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150331T1800"><abbr class="date" title="2015-03-31T18:00:00+00:00">Tuesday 18:00 UTC 2015</abbr></a></td>
<td>19:00</td>
</tr>
<tr>
<td>Multisite Weekly Chat<br /><strong>Starting April 7th</strong></td>
<td><a href="https://wordpress.slack.com/messages/core-multisite/">#core-multisite</a></td>
<td><a href="http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150331T1900"><abbr class="date" title="2015-03-31T19:00:00+00:00">Tuesday 19:00 UTC</abbr></a></td>
<td>20:00</td>
</tr>
<tr>
<td>4.2 Core Bug Scrub</td>
<td><a href="https://wordpress.slack.com/messages/core/">#core</a></td>
<td><a href="http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150401T1600"><abbr class="date" title="2015-04-01T16:00:00+00:00">Wednesday 16:00 UTC 2015</abbr></a></td>
<td>17:00</td>
</tr>
<tr>
<td><strong>Core Dev Chat</strong></td>
<td><a href="https://wordpress.slack.com/messages/core/">#core</a></td>
<td><a href="http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150401T2000"><abbr class="date" title="2015-04-01T20:00:00+00:00">Wednesday 20:00 UTC 2015</abbr></a></td>
<td>21:00</td>
</tr>
<tr>
<td>Dashicons Weekly Chat</td>
<td><a href="https://wordpress.slack.com/messages/design-dashicons/">#design-dashicons</a></td>
<td><a href="http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150402T1700"><abbr class="date" title="2015-04-02T17:00:00+00:00">Thursday 17:00 UTC 2015</abbr></a></td>
<td>18:00</td>
</tr>
<tr>
<td>4.2 Core Bug Scrub</td>
<td><a href="https://wordpress.slack.com/messages/core/">#core</a></td>
<td><a href="http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150403T1500"><abbr class="date" title="2015-04-03T15:00:00+00:00">Friday 15:00 UTC 2015</abbr></a></td>
<td>16:00</td>
</tr>
<tr>
<td>Customizer Component Weekly Chat</td>
<td><a href="https://wordpress.slack.com/messages/core-customize/">#core-customize</a></td>
<td><a href="http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150403T1800"><abbr class="date" title="2015-04-03T18:00:00+00:00">Friday 18:00 UTC 2015</abbr></a></td>
<td>19:00</td>
</tr>
<tbody>
</table>
https://make.wordpress.org/core/2015/03/31/reminder-core-meetings-move-up-an-hour-starting-this-week-dst/text/html2015-03-31T17:00:54+01:00http://abetterplanetwp.comA Better PlanetImproving your workflow with DesktopServerhttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/Czc4zNRZiGk/
<p>If you’re a WordPress developer, you know that there are lots of helpful tools out there to choose from. In this article, we are going to take a look at ServerPress.com’s DesktopServer—a tool designed to help develop sites in a local environment, quicker and easier than ever.</p>
<p>Launched in 2011 by ServerPress.com’s founder <a href="https://twitter.com/steveorevo" target="_blank">Stephen Carnam</a>, DesktopServer has become a popular product amongst web developers looking for different ways to set up local development environments to reduce time on the initial setup of each WordPress site they&#8217;re working on. Because, after all, isn&#8217;t that the goal of every developer to save time wherever possible without compromising the quality of their work?</p>
<p>The team expanded in June 2013 with the addition of <a href="https://twitter.com/MarcBenzak" target="_blank">Marc Benzakein</a> and <a href="https://twitter.com/GreggFranklin" target="_blank">Gregg Franklin</a>, who prior to partnering with Stephen were huge DesktopServer evangelists, while working in the web development field.<strong><strong> </strong></strong></p>
<h3>So what makes this product different from all the others?</h3>
<p>It’s safe to say that the majority of web developers who develop on their own local machines use some form of MAMP/WAMP/XAMPP to create the server environment required to develop WordPress sites (in particular, an Apache server and MySQL database).</p>
<p>While those solutions do a good job of installing web services on your machine, that’s pretty much where their functionality stops. As with most products, DesktopServer is available as both a free and premium product—you can view the complete matrix <a href="http://serverpress.com/comparison-matrix/" target="_blank">here</a>. The matrix not only compares the different versions offered, but also compares the front-running competitors to this product.</p>
<p>One of the key differentiators for ServerPress is that it not only installs Apache and MySQL, but it also installs WordPress into a local directory, as outlined in the screenshot below. It should also be noted that DesktopServer sets up non-WordPress sites just as quickly, creating the directory and installing a default index.html for you.<strong><strong> </strong></strong></p>
<p><a href="http://3j68xu1tybju34n8yb4fm4b189a.wpengine.netdna-cdn.com/wp-content/uploads/2015/03/Figure-1.png"><img class="aligncenter wp-image-74073" src="http://3j68xu1tybju34n8yb4fm4b189a.wpengine.netdna-cdn.com/wp-content/uploads/2015/03/Figure-1.png" alt="Figure 1" width="600" height="458" /></a></p>
<p>One of my favorite features of this product is the native support for Coda 2 found in the premium version. To enable this, you must first click the top button that stops or restarts web services Apache and MySQL. Upon restart, you can then check the appropriate box that enables Coda editor support (Dreamweaver support is also available here, as well as trace and debug). Once selected, make sure that the restart web and database services’ radio button is also checked, then click the next button, as seen below.</p>
<p><a href="http://3j68xu1tybju34n8yb4fm4b189a.wpengine.netdna-cdn.com/wp-content/uploads/2015/03/Figure-2.png"><img class="aligncenter wp-image-74074" src="http://3j68xu1tybju34n8yb4fm4b189a.wpengine.netdna-cdn.com/wp-content/uploads/2015/03/Figure-2.png" alt="Figure 2" width="600" height="454" /></a></p>
<p>You can then add the site to Coda 2 as you would with any other site you were working on. Simply click the ‘+’ button found in the lower left hand side of your Coda 2 screen and add the site as you normally would. You’ll only need to give the site a nickname, the local URL and the local root will be added automatically, as seen below.<strong><strong> </strong></strong></p>
<p><a href="http://3j68xu1tybju34n8yb4fm4b189a.wpengine.netdna-cdn.com/wp-content/uploads/2015/03/Figure-3.png"><img class="aligncenter size-full wp-image-74075" src="http://3j68xu1tybju34n8yb4fm4b189a.wpengine.netdna-cdn.com/wp-content/uploads/2015/03/Figure-3.png" alt="Figure 3" width="485" height="442" /></a></p>
<p>You’re now set up to start working on your site using Coda 2. You can view your site by either using the preview function in Coda 2 or through a browser using the URL specified when you set the site up.</p>
<h3>ServerPress offers a number of additional features</h3>
<p><b>Ability to work on individual files and preview:</b></p>
<p>If you want to work on just a single file (header.php or footer.php, for example), you have the ability to isolate it by working on your code in the editor and then viewing it as an individual file in the preview function of Coda.</p>
<p><b>Deploy or export to the final host server:</b></p>
<p>Because ServerPress is a tool for working on sites within your local development environment, you need a way to deploy to the final server that the site will reside on.</p>
<p>ServerPress has options for importing, exporting, and even sharing a development site. To export your site to the destination server, simply install WordPress on the hosting provider site (most providers offer an automated install feature, so this step should only take a minute or two).</p>
<p>After installation, you will need to install and activate the <a href="https://wordpress.org/plugins/desktopserver/" target="_blank">DesktopServer for WordPress</a> plugin. Once installed, you can choose the development site and the site to deploy to from the dropdown menus provided.</p>
<p><a href="http://3j68xu1tybju34n8yb4fm4b189a.wpengine.netdna-cdn.com/wp-content/uploads/2015/03/Figure-4.png"><img class="aligncenter wp-image-74076" src="http://3j68xu1tybju34n8yb4fm4b189a.wpengine.netdna-cdn.com/wp-content/uploads/2015/03/Figure-4.png" alt="Figure 4" width="600" height="459" /></a></p>
<p>Here, you also have the option to export to a zip file or deploy directly. I went the direct deploy route in my testing and found it to be very straight forward and user friendly. More importantly, however, it worked like a charm, moving the local site to the live server, effortlessly with very little involvement from me.</p>
<p>For me, this was as smooth, if not smoother, than a number of products on the market today. Although I didn&#8217;t get a chance to try it out, there are also some backup capabilities included with this product.</p>
<h3>What does the future look like?<strong><strong> </strong></strong></h3>
<p>While speaking with <a href="https://twitter.com/MarcBenzak" target="_blank">Marc Benzakein</a> for this article, he informed me that there is a new website coming very soon and that, as of March, they are deep in development for version 4.0 and won’t be offering any further updates to the current version. This was initially <a href="http://serverpress.com/news/here-comes-2015-and-btw-wheres-desktopserver-4-0/#more-15872" target="_blank">announced</a> in late 2014.</p>
<p>One of the bigger issues when it comes to developing a software product like this is making sure it&#8217;s feature complete and works the same across all platforms (Mac, Windows, and Linux—which will be new for version 4.0). You can check out a teaser video of what&#8217;s coming in version 4.0 <a href="https://www.youtube.com/watch?v=DCbDNryxS5U" target="_blank">here</a>.</p>
<p>In conclusion, DesktopServer is a great product that allows WordPress developers to save time and work more efficiently. If you’re looking to get your feet wet with the product, I suggest the free version, but I’m sure once you get started you’ll see the value and upgrade to premium—that is, of course, the more feature-rich option.</p>
<p>While everyone has their favorite tools when it comes to developing sites, DesktopServer is without a doubt worth taking a look at if you’re looking to shave some time off your workflow.</p>
<p><em><strong>Do you use DesktopServer? </strong></em></p>
<h5 style="text-align: right;">Featured image via <a href="http://serverpress.com/" target="_blank">ServerPress.com</a></h5>
<div id="author-bio-box" style="background: #f8f8f8; border-top: 2px solid #cccccc; border-bottom: 2px solid #cccccc; color: #333333"><h3><a style="color: #555555;" href="http://torquemag.io/author/aldavis/" title="All posts by Al Davis" rel="author">Al Davis</a></h3><div class="bio-gravatar"><img alt='' src='http://1.gravatar.com/avatar/936c133a48511bbe436940d951f17845?s=70&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D70&amp;r=G' class='avatar avatar-70 photo' height='70' width='70' /></div><a target="_blank" href="https://twitter.com/adavis3105" class="bio-icon bio-icon-twitter"></a><p class="bio-description">When not at his day job in the hosting industry, Al teaches WordPress at a Toronto, Ontario college and also does corporate WordPress training. As a freelance web developer, he is always busy building sites on the WordPress platform. All this leaves him very little time to ride his Harley and watch NFL football.</p></div>
<p>The post <a rel="nofollow" href="http://torquemag.io/improving-your-workflow-with-desktopserver/">Improving your workflow with DesktopServer</a> appeared first on <a rel="nofollow" href="http://torquemag.io">Torque</a>.</p>
http://torquemag.io/improving-your-workflow-with-desktopserver/text/html2015-03-31T13:10:21+01:00http://abetterplanetwp.comA Better PlanetWordPress Meta Data: Use IDs (Not Titles)http://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/WXru-yDQPqE/
<p>One of the features that I&#8217;ve often found myself having to implement when building custom solutions for others is implementing some type of <code>select</code> box &#8211; be it multi-select or single select &#8211; or another similar input element that&#8217;s [naturally] populated with a list of <code>option</code> elements.</p>
<p>These options may consist of posts, pages, custom post types, categories, taxonomies, etc. It doesn&#8217;t really matter what type of information it includes, but it does matter <em>how</em> the information is populated.</p>
<p><span id="more-33274"></span></p>
<h2>WordPress Meta Data: A Use Case</h2>
<p>Assume the use case is something like this:</p>
<ol>
<li>The input element is populated with a list of custom post types</li>
<li>The user has the ability to associate himself or herself with a single custom post type</li>
<li>The user selects the custom post type from the dropdown and then saves the information</li>
<li>The information from the custom post type is then associated with the user&#8217;s meta data</li>
</ol>
<p>Straightforward, right? If you&#8217;re worked with WordPress long enough, then this is likely how you&#8217;re implemented certain features.</p>
<p>&nbsp;</p>
<p><img class="aligncenter size-full wp-image-33275" src="http://tommcfarlin.com/wp-content/uploads/2015/03/3p99g3.jpg" alt="WordPress Meta Data" width="486" height="467" /></p>
<p>If, however, you&#8217;ve <em>not</em> worked with building a feature like this before, then there&#8217;s a change that you may end up making a couple of mistakes when implementing the solution.</p>
<h2>An Implementation</h2>
<p>Here&#8217;s a quick run down of what I&#8217;ve found to be useful when building something like this:</p>
<ul>
<li>Always use the post, page, custom post type, category, taxonomy, etc., ID to populate the <code>option</code> element&#8217;s value.</li>
<li>Use the data type&#8217;s title as the text of the element so that the user is aware of what they are selecting.</li>
</ul>
<p>The second point seems to be intuitive, but the first point is one that I&#8217;ve seen implemented in a couple of different ways. Namely, I&#8217;ve seen other developers using the same data to populate the text of the <code>option</code> &#8211; such as the title &#8211; as the <code>value</code> of the <code>option</code> element.</p>
<p>Initially, this may seem to make sense. I mean, saving this to the user&#8217;s meta data is easy enough and then retrieving the data via, say, <code>get_page_by_title</code> would seem easy enough.</p>
<p>But this doesn&#8217;t take into account characters that could cause problems with queries. For example, ampersands, quotes, apostrophes, and other entities can yield problematic results when using this as the value of the <code>option</code>.</p>
<p>Additionally, it may not only showcase problems when displaying them in the browser, but in saving the data, and/or retrieving the data, too.</p>
<p>Succinctly put:</p>
<ul>
<li>Use IDs are the <code>value</code> attribute of your <code>option</code> elements</li>
<li>Save the IDs to the meta data for whatever it is with which you&#8217;re working</li>
<li>Use the title (or description or whatever long form) to display the content so the user is aware of what they&#8217;re selecting</li>
<li>Retrieving the information later using the ID that you&#8217;ve saved</li>
</ul>
<p>This can save a lot of trouble in saving and retrieving information with your results.</p>
<h2>A Note About This Strategy</h2>
<p>WordPress Lead Developer and 10upper Helen Hou-Sandi brought something to my attention earlier today:</p>
<blockquote class="twitter-tweet" width="550"><p><a href="https://twitter.com/tommcfarlin">@tommcfarlin</a> what happens with data migration or other ID changes? See: shared term splitting.</p>
<p>&mdash; Helen (@helenhousandi) <a href="https://twitter.com/helenhousandi/status/582902626368528384">March 31, 2015</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>This is something that&#8217;s definitely important to take into account &#8211; especially with some of the things coming down the pipeline in future versions of WordPress &#8211; but this is also something that&#8217;s a bit more technical for this particular post.</p>
<p>A follow-up will eventually make its way here to the blog &#8211; but not in this post :).</p>
<p><a rel="nofollow" href="https://tommcfarlin.com/wordpress-meta-data-use-ids/">WordPress Meta Data: Use IDs (Not Titles)</a> was written by <a rel="nofollow" href="https://tommcfarlin.com/author/tom/">Tom</a>. Check out additional articles on the full blog at <a rel="nofollow" href="https://tommcfarlin.com">Tom McFarlin</a>.</p>
https://tommcfarlin.com/wordpress-meta-data-use-ids/text/html2015-03-31T12:00:39+01:00http://abetterplanetwp.comA Better Planet5 Best WordPress Appointment and Booking Pluginshttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/YLcA7ypqyrU/
<p>Do you want to allow your customers to make an appointment directly from your WordPress site? Whether you are a dentist, hair salon, consultant, or manage a hotel, being able to book an appointment is essential for business. In this article, we will show you the 5 best WordPress appointment and booking plugins.</p>
<p><img title="Booking Plugins" src="http://cdn3.wpbeginner.com/wp-content/uploads/2015/03/bookingplugins.jpg" alt="Booking Plugins" width="520" height="290" class="alignnone size-full wp-image-26998" /></p>
<p>These WordPress appointment plugins are good for making appointments, managing reservations, and even rentals. However, if you are interested in a complete hotel booking management plugin, then check out our tutorial on how to add a <a href="http://www.wpbeginner.com/plugins/how-to-add-hotel-room-booking-system-in-wordpress/" title="How to Add a Hotel Room Booking System in WordPress">hotel room booking system in WordPress</a>. </p>
<p>Having that said, let&#8217;s take a look at the booking plugins that will make it easy for your users to book an appointment directly from your website.</p>
<h4><a href="http://www.wpbeginner.com/refer/birchpress/" title="BirchPress" target="_blank" rel="nofollow">1. BirchPress</a></h4>
<p>BirchPress is a comprehensive WordPress booking plugin. It allows you to add a professional online booking management system into your WordPress site. Your users can book appointments from your website and pay for it using their PayPal account or Credit Card.</p>
<p><img title="BirchPress booking and appointment view" src="http://cdn3.wpbeginner.com/wp-content/uploads/2015/03/birchpress.png" alt="BirchPress booking and appointment view" width="520" height="337" class="alignnone size-full wp-image-26183" /></p>
<p>BirchPress syncs your booking calendar with your other calendars such as Google Calendar, iCal, Android, Outlook, etc. It has a customizable email notification and reminder system to keep you and your clients informed about the booking.</p>
<h4><a href="https://wordpress.org/plugins/booking/" title="Booking Calendar" target="_blank" rel="nofollow">2. Booking Calendar</a></h4>
<p><img title="Booking Calendar Plugin" src="http://cdn3.wpbeginner.com/wp-content/uploads/2015/03/bookingcalendar.jpg" alt="Booking Calendar Plugin" width="530" height="504" class="alignnone size-full wp-image-26997" /></p>
<p>Booking Calendar is one of the oldest free WordPress booking plugin in the market. It is simple, easy to use, and well documented. It comes with a calendar view for both you and your website visitors. You can easily add your booking / appointment form into any WordPress post or page. </p>
<p>While it is simple enough for beginners, it is also very powerful and comes with a whole range of options that can be configured from the plugin&#8217;s settings page. It comes with built-in captcha to prevent spam, email notifications, jQuery effects, etc. You can even customize the booking form with your own custom fields. </p>
<h4><a href="https://wordpress.org/plugins/appointment-calendar/" title="Appointment Calendar" target="_blank" rel="nofollow">3. Appointment Calendar</a></h4>
<p>As the name suggests, Appointment Calendar allows you to add an appointment booking management system into your WordPress site. Simply add the service you offer and then add the plugin shortcode into any WordPress post or page. </p>
<p><img title="Appointment Calendar" src="http://cdn4.wpbeginner.com/wp-content/uploads/2015/03/appointment-calendar.png" alt="Appointment Calendar" width="520" height="258" class="alignnone size-full wp-image-26185" /></p>
<p>It allows you to set available time slots that users can book. You can add business hours, lunch breaks, and meeting hours so that users can book according to your availability. It comes with an email notification for you and your clients. You can even export your appointments to a CSV file and use them anywhere else. </p>
<h4><a href="https://wordpress.org/plugins/wp-simple-booking-calendar/" title="WP Simple Booking Calendar" target="_blank" rel="nofollow">4. WP Simple Booking Calendar</a></h4>
<p><img title="WP Simple Booking Calendar" src="http://cdn3.wpbeginner.com/wp-content/uploads/2015/03/simple-booking-calendar.png" alt="WP Simple Booking Calendar" width="520" height="299" class="alignnone size-full wp-image-26186" /></p>
<p>WP Simple Booking Calendar is another straight forward WordPress booking plugin. Simply create a calendar and then it to a post or page using the shortcode. It only allows users to book an entire day. This means there are no hourly time slots. </p>
<p>If you were looking for something very simple and basic for rooms, accommodation, or other per day offerings, then this plugin will do the job. For more complex items, look at the plugins we mentioned above. </p>
<h4><a href="http://www.wpbeginner.com/refer/gravityforms/" title="Gravity Forms" target="_blank" rel="nofollow">5. Gravity Forms</a></h4>
<p><a href="http://www.wpbeginner.com/refer/gravityforms/" class="thirstylink" rel="nofollow" target="_blank" title="Gravity Forms">Gravity Forms</a> is one of the <a href="http://www.wpbeginner.com/plugins/gravity-forms-most-beginner-friendly-wordpress-contact-form-plugin/" title="Gravity Forms – Most Beginner Friendly WordPress Contact Form Plugin">best contact form plugin</a> for WordPress. It is famous for its ease of use with the drag-drop interface. </p>
<p>If you already own the plugin, then you can easily create your own booking form with it. <a href="http://www.wpbeginner.com/refer/gravityforms/" class="thirstylink" rel="nofollow" target="_blank" title="Gravity Forms">Gravity Forms</a> has built-in support for notifications, so you can send appointment confirmation email automatically. Since Gravity Form stores your form data, all your appointments will be stored on your WordPress site as well. </p>
<p><img title="Connecting Gravity Forms with Zapier" src="http://cdn4.wpbeginner.com/wp-content/uploads/2015/03/createzap.png" alt="Connecting Gravity Forms with Zapier" width="520" height="224" class="alignnone size-full wp-image-26187" /></p>
<p>You can also <a href="http://www.wpbeginner.com/plugins/integrate-gravity-forms-well-everything-using-zapier/" title="How to Integrate Gravity Forms With… Well Everything using Zapier">connect Gravity Forms with anything</a> using Zapier. This way you can connect your booking form to Google Calendar and then add that <a href="http://www.wpbeginner.com/plugins/how-to-add-google-calendar-in-wordpress/" title="How to Add Google Calendar in WordPress">Google Calendar in a WordPress</a> post or page. </p>
<p>That&#8217;s all, we hope this article helped you find an appointment and booking plugin for your WordPress site. You may also want to look at these <a href="http://www.wpbeginner.com/showcase/9-best-wordpress-seo-plugins-and-tools-that-you-should-use/" title="9 Best WordPress SEO Plugins and Tools That You Should Use">9 best WordPress SEO plugins and tools that you should use</a>.</p>
<p>If you liked this article, then please subscribe to our <a href="http://youtube.com/wpbeginner" title="WPBeginner on YouTube" target="_blank" rel="nofollow">YouTube Channel</a> for WordPress video tutorials. You can also find us on <a href="http://twitter.com/wpbeginner" title="WPBeginner on Twitter" target="_blank" rel="nofollow">Twitter</a> and <a href="https://plus.google.com/101634180904808003404/posts" title="WPBginner on Google+" target="_blank" rel="nofollow">Google+</a>. </p>
<p>To leave a comment please visit <a rel="nofollow" href="http://www.wpbeginner.com/plugins/5-best-wordpress-appointment-and-booking-plugins/">5 Best WordPress Appointment and Booking Plugins</a> on <a href="http://www.wpbeginner.com/" target="_blank" rel="friend">WPBeginner</a>.</p>
http://www.wpbeginner.com/plugins/5-best-wordpress-appointment-and-booking-plugins/text/html2015-03-31T12:00:39+01:00http://abetterplanetwp.comA Better PlanetManaging Access to Plugins (So Clients Don’t Break Their Site!)http://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/rMfR15GMI-o/
<h2>When building WordPress sites for clients we often rely on plugins to provide the core functionality of our product.</h2>
<p>The trouble is, if a client inadvertently deactivates a plugin, it could break the site, or at the very least severely impair its functionality.</p>
<p>In this article I’ll share some tips and tricks you can use to make sure clients don’t disable their own websites by mistake.<span id="more-139262"></span></p>
<h3>Communication</h3>
<p>While our goal should always be to achieve an air-tight seal, communication should always be on the forefront of our efforts. Developers tend to blame clients for everything – sometimes rightly so, and sometimes not so much.</p>
<p>One of the most essential tools in our toolkit is documentation. If a plugin shouldn’t be disabled then write this down somewhere and share it with the client. Group this together with other tips, tricks and how-tos and boom, you have helpful documentation your client will no doubt appreciate.</p>
<p>You should also make an effort to communicate in person or on Skype. If there is an element in your project, which could potentially break everything, perhaps it is a good idea to let the client know and stress just how important it is not to disable plugin X.</p>
<h3>Access Restriction</h3>
<p>At this stage, the client should be aware of any issues with a specific plugin. However, things may be forgotten over time, the client may employ other people or maybe just mis-click. That’s where access restriction comes in.</p>
<p>The easiest way to do this is to simply prevent the link to remove a plugin from appearing. This is a fairly simple matter, we can use the <code>plugin_action_links</code> hook, iterating through each of our plugins, and disabling the link for particular ones.</p>
<style>.gist table { margin-bottom: 0; }</style><script src="https://gist.github.com/7dcb836849f7ad61c02d.js?file=restrict.php"></script>
<p>If you’ve been reading up on safety you may ask: Is this safe? What if the user knows the link and visits it in lieu of clicking on the link?</p>
<p>This is not really our concern here. The fact that we’re disabling the links doesn’t mean WordPress’ permissions system is compromised. Only admins can disable plugins.</p>
<p>If your client – as an admin – logs in and intentionally disables the plugin by visiting the specific link he/she probably knows what he/she is doing.</p>
<p>There is a small downside to this method. The actions are disabled for all admins, even for us. If this is an issue for you, you can create a custom role which is “above” the administrator.</p>
<h4>Creating an Admin Overlord</h4>
<p>There is such a thing as a Superadmin, but this is an actual role used in a Multisite installation so it’s best to avoid any conflicts. What we&#8217;ll do is create a role named Overlord who will be able to do anything that admins can and then some. Here’s how:</p>
<style>.gist table { margin-bottom: 0; }</style><script src="https://gist.github.com/7dcb836849f7ad61c02d.js?file=role.php"></script>
<p>There really is no need to create our custom role every time the page loads so I’ve added it to an activation hook. This only runs when the theme is activated. If your theme is already activated just run the code within the hook once by temporarily adding it to the init hook.</p>
<p>We create a role named “Overlord” and copy all the capabilities admins have. A new capability named “can_overlord” is added, which we can check against when needed.</p>
<p>We can now modify our previous code by adding the capability check. This will disable the action links for everyone but overlords. Don’t forget to make yourself a Superadmin to see the links!</p>
<style>.gist table { margin-bottom: 0; }</style><script src="https://gist.github.com/7dcb836849f7ad61c02d.js?file=restrict-role.php"></script>
<h3>Additional Safeguards</h3>
<p>I like to build in a final safeguard – a check for required plugins. This is beneficial because it lets clients know what is going on if the plugin is disabled and it also informs you of what it is the site relies on (don’t forget that you may come back months/years later).</p>
<p>I like to use The TGM plugin activation class for this because it allows me to provide required and suggested plugins and configure the messages users receive. I’ve written about <a href="http://tgmpluginactivation.com/">TGM Plugin Activation</a> before, take a look there for more information. Here’s a nice example, which I’ll explain below:</p>
<style>.gist table { margin-bottom: 0; }</style><script src="https://gist.github.com/7dcb836849f7ad61c02d.js?file=tgm.php"></script>
<p>You need to include the class itself and then configure it. This is a matter of telling it which plugins you require and customizing the message strings.</p>
<p>Plugins can be specified right from the repository, from an external source or can be self-contained within your theme, take a look at the <a href="http://tgmpluginactivation.com/">documentation</a> for examples.</p>
<p>By customizing the strings you can provide friendly messages to clients which tell them what is going on, who they can contact and – more importantly – how they can resolve the issue themselves.</p>
<p>By default, the class lets users know exactly which plugins have been deactivated. I opted to go for a more direct approach with this string:</p>
<blockquote><p>Some plugins have been deactivated which are needed for your website to function. Please re-activate or install the required plugins using the link below. If you are unable to do so please contact <a href="mailto:developer@yourwebsite.com">developer@yourwebsite.com</a> as soon as possible.</p></blockquote>
<h3>Disabling Everything</h3>
<p>I am strongly against doing this, but disabling the whole plugins section is also an option.</p>
<p>Similarly to our link disabling efforts, users could still access the page directly, even if the user interface is removed.</p>
<style>.gist table { margin-bottom: 0; }</style><script src="https://gist.github.com/7dcb836849f7ad61c02d.js?file=disable-menu.php"></script>
<p>Feel free to wrap this in a check for the &#8216;can_overlord&#8217; capability to make sure the menu is visible to Overlords.</p>
<p>As an additional safeguard you could also remove the ability to edit themes and plugins. This <em>is</em> something I am a fan of because this is also good security practice. You’ll need to add the following to the <em>wo-config.php</em> file.</p>
<style>.gist table { margin-bottom: 0; }</style><script src="https://gist.github.com/7dcb836849f7ad61c02d.js?file=wp-config.php"></script>
<h3>Conclusion</h3>
<p>Removing the ability to muck up your site by removing plugins – but retaining updating abilities – is not only possible, but downright easy.</p>
<p>This removes unnecessary communication and ambiguity from your client work and can provide your client with easy DIY options – a better experience all round.</p>
<p><strong>Have you had any disastrous situations where clients have added or removed plugins, or updated settings? Let us know in the comments below.</strong></p>
<div class='yarpp-related-rss'>
<p>Related posts:</p><ol>
<li><a href="http://premium.wpmudev.org/blog/how-to-keep-your-wordpress-clients-out-of-trouble/" rel="bookmark" title="How To Keep Your WordPress Clients Out Of Trouble">How To Keep Your WordPress Clients Out Of Trouble </a> <small>When you’ve created a beautiful WordPress site for a client,...</small></li>
<li><a href="http://premium.wpmudev.org/blog/support-your-clients-with-white-label-videos-and-awesome-tutorials/" rel="bookmark" title="Support Your Clients With White Label Videos and Awesome Tutorials">Support Your Clients With White Label Videos and Awesome Tutorials </a> <small>Did you know we have dozens of continuously updated, high...</small></li>
<li><a href="http://premium.wpmudev.org/blog/supporting-clients-after-a-project-ends-and-scoring-more-work/" rel="bookmark" title="Supporting Clients After a Project Ends – and Scoring More Work">Supporting Clients After a Project Ends – and Scoring More Work </a> <small>We've all been there. You've launched a client's site and...</small></li>
</ol>
</div>
http://premium.wpmudev.org/blog/managing-client-access-plugins/text/html2015-03-31T12:00:37+01:00http://abetterplanetwp.comA Better PlanetVarsita – Themeum’s New Solution for Your LMShttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/p5mhoC79Bbk/
http://feedproxy.google.com/~r/WPMayor/~3/YC936UoTIUI/text/html2015-03-31T12:00:04+01:00http://abetterplanetwp.comA Better PlanetOnline Tools That Help Me In a Pinch - BobWPhttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/mTG0v6U32fU/
<div id="triberr_endorsement"></div><p>There are a lot of tools out there on the internet. And it&#8217;s amazing what you can find.</p> <p>Last year I did a list of <a title="Non-WordPress Stuff I Cannot Live Without" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~bobwp.com/non-wordpress-stuff-live-without/"><strong>Non-WordPress Stuff I Cannot Live Without</strong></a>, which consisted of mostly software and services. This time around I would like to share with you some tools online that I use in a pinch: for those little tasks or gathering some quick info. Some are directly related to WordPress while others are not. But I promise you, they are all very handy.</p> <div style='text-align:left; clear:both' id='ly_wrap_dZB'> <strong id='ly_wrap_dZB_t' style='display:none;margin:10px 0 4px'> <a href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~list.ly/list/dZB-online-tools-that-help-me-in-a-pinch" target="_blank" title="Online Tools That Help Me In a Pinch">Online Tools That Help Me In a Pinch</a> </strong> <div id="listly_dZB_5169" class="ly-cln listly-list-widget full_layout" data-layout="full" data-page="1" data-per-page="25" data-show-header="true" data-theme="light" data-show-images="true" data-show-numbers="true" data-show-tools="true" data-show-author="true" data-show-sharing="true"> <div class="ly-headline"> <img class="colorbox-20069" src="http://media-cdn.list.ly/production/152097/headline.jpeg?ver=0231924125" alt="Online Tools That Help Me In a Pinch"/> <div class="ly-hl-da">︾</div> </div> <div class="ly-header cf"> <div class="ly-badges cf"></div> <div class="ly-stats cf" style="display:none !important"> <div class="ly-stats-counts"> <i class="ly-stat-view-count ly-brand-strong">2</i> <span class="ly-dim">views</span> <i class="ly-stat-item-count">15</i> <span class="ly-dim">items</span> </div> <div class="ly-list-edit ly-select ly-dim" title="Edit List Settings"></div> </div> <a href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~list.ly/Bob-Dunn" class="ly-ext-link"> <img class="ly-curatedby colorbox-20069" src="http://media-cdn.list.ly/production/profiles/41126/picture.jpeg?ver=7820564457" alt="Bob Dunn" onError="this.onerror=null;this.src='https://list.ly/assets/defaults/default-profile-image.png';"/> </a> <h1 class="ly-title ly-title-font"> Online Tools That Help Me In a Pinch </h1> <p class="ly-author-link">Listly by <a href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~list.ly/Bob-Dunn" class="ly-ext-link">Bob Dunn</a></p> <div class="ly-description ly-markdown wbreak"><p>There are a lot of tools out there on the internet. And it's amazing what you can find. I would like to share with you some tools online that I use in a pinch: for those little tasks or gathering some quick info. Some are directly related to WordPress while others are not. But I promise you, they are all very handy.</p> </div> <p class="ly-source"> Source: <a href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~bobwp.com/online-tools-that-help-me-in-a-pinch" class="ly-dim" target="_blank" title="Source Credit" rel="nofollow">http://bobwp.com/online-tools-that-help-me-in-a-pinch</a> </p> <div class="ly-list-actions cf"> <div class="ly-follow" title="Follow This List"> <i class="ly-icon-heart"></i>&nbsp;&nbsp;<span>Follow List</span> </div> <div class="ly-embed" title="Embed This List"> <i class="ly-icon-embed"></i>&nbsp;&nbsp;<span>Embed List</span> </div> <div class="ly-share-list" title="Share This List"> <span class="ly-icon-share-alt">&nbsp;</span> <i class='lw-action ly-icon-facebook-square ly-icon-color-facebook' data-network='fb' title="Share List on Facebook"></i> <i class='lw-action ly-icon-twitter-square ly-icon-color-twitter' data-network='tw' title="Share List on Twitter"></i> <i class='lw-action ly-icon-linkedin-square ly-icon-color-linkedin' data-network='li' title="Share List on LinkedIn"></i> <i class='lw-action ly-icon-google-plus-square ly-icon-color-google-plus' data-network='gp' title="Share List on Google Plus"></i> <i class='lw-action ly-icon-envelope ly-icon-color-mail' data-network='ma' title="Share List via Email"></i> </div> </div> </div> <div class="ly-body cf"> <div class="list-body"> <ol class="optionlist published cf"> <li class="listly-item" data-listly-item="1108903" data-type="" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="7" data-name="BuiltWith - Web Technology Profiler" data-creator = "41126" data-url = "http://builtwith.com/"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">1</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~builtwith.com/" target="_blank" rel="nofollow">BuiltWith - Web Technology Profiler</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108903/item1108903_185px.png?ver=5394509812" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108903/item1108903_185px.png?ver=5394509812" data-src-gallery="//media-cdn.list.ly/production/152097/1108903/item1108903_185px.png?ver=5394509812" data-src-full="//media-cdn.list.ly/production/152097/1108903/item1108903_600px.png?ver=5394509812" class="option_image colorbox-20069" alt="BuiltWith - Web Technology Profiler" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Find out the technology behind websites. If you want to know more than just the theme or plugin, this is a pretty cool tool!</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108912" data-type="link" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="13" data-name="Common WordPress Host Status" data-creator = "41126" data-url = "http://status.maintainn.com/"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">2</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~status.maintainn.com/" target="_blank" rel="nofollow">Common WordPress Host Status</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108912/item1108912_185px?ver=4351583501" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108912/item1108912_185px?ver=4351583501" data-src-gallery="//media-cdn.list.ly/production/152097/1108912/item1108912_185px?ver=4351583501" data-src-full="//media-cdn.list.ly/production/152097/1108912/item1108912_600px?ver=4351583501" class="option_image colorbox-20069" alt="Common WordPress Host Status" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Maintainn has this handy status tool on popular WordPress hosts to show you if your host is up or down. It does not always reflect real-time data, but it is a good first step.</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108908" data-type="link" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="10" data-name="Devoth‘s HEX 2 RGBA Color Calculator" data-creator = "41126" data-url = "http://hex2rgba.devoth.com/"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">3</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~hex2rgba.devoth.com/" target="_blank" rel="nofollow">Devoth‘s HEX 2 RGBA Color Calculator</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108908/item1108908_185px?ver=0342845332" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108908/item1108908_185px?ver=0342845332" data-src-gallery="//media-cdn.list.ly/production/152097/1108908/item1108908_185px?ver=0342845332" data-src-full="//media-cdn.list.ly/production/152097/1108908/item1108908_600px?ver=0342845332" class="option_image colorbox-20069" alt="Devoth‘s HEX 2 RGBA Color Calculator" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>HEX to RGBA, RGB and R G B Calculator. What this is specifically handy for is it will give you the value for any HEX value with opacity applied.</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108911" data-type="" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="12" data-name="Facebook Image Debugger" data-creator = "41126" data-url = "https://developers.facebook.com/tools/debug/"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">4</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~https://developers.facebook.com/tools/debug/" target="_blank" rel="nofollow">Facebook Image Debugger</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108911/item1108911_185px.png?ver=9756149711" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108911/item1108911_185px.png?ver=9756149711" data-src-gallery="//media-cdn.list.ly/production/152097/1108911/item1108911_185px.png?ver=9756149711" data-src-full="//media-cdn.list.ly/production/152097/1108911/item1108911_600px.png?ver=9756149711" class="option_image colorbox-20069" alt="Facebook Image Debugger" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Have you ever put the wrong featured image or left it out of a post and updated it with a new image? But when you post on Facebook it's still the old image or no image. Run this debugger on your post URL and chances are it will be fixed.</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108905" data-type="link" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="9" data-name="Gravatar Check" data-creator = "41126" data-url = "https://en.gravatar.com/site/check/"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">5</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~https://en.gravatar.com/site/check/" target="_blank" rel="nofollow">Gravatar Check</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108905/item1108905_185px.jpeg?ver=1121357258" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108905/item1108905_185px.jpeg?ver=1121357258" data-src-gallery="//media-cdn.list.ly/production/152097/1108905/item1108905_185px.jpeg?ver=1121357258" data-src-full="//media-cdn.list.ly/production/152097/1108905/item1108905_600px.jpeg?ver=1121357258" class="option_image colorbox-20069" alt="Gravatar Check" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>If you need to double check quickly which gravatar is assigned to a specific email address, this is perfect.</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108896" data-type="" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="6" data-name="IconFinder" data-creator = "41126" data-url = "https://www.iconfinder.com/"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">6</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~https://www.iconfinder.com/" target="_blank" rel="nofollow">IconFinder</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108896/item1108896_185px.jpeg?ver=0596756821" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108896/item1108896_185px.jpeg?ver=0596756821" data-src-gallery="//media-cdn.list.ly/production/152097/1108896/item1108896_185px.jpeg?ver=0596756821" data-src-full="//media-cdn.list.ly/production/152097/1108896/item1108896_600px.jpeg?ver=0596756821" class="option_image colorbox-20069" alt="IconFinder" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Iconfinder provides beautiful icons to millions of designers and developers. Iconfinder now hosts the worlds largest collection of premium icons.</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108914" data-type="link" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="14" data-name="Internet Archive: Wayback Machine" data-creator = "41126" data-url = "http://archive.org/web/"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">7</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~archive.org/web/" target="_blank" rel="nofollow">Internet Archive: Wayback Machine</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108914/item1108914_185px?ver=3375875916" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108914/item1108914_185px?ver=3375875916" data-src-gallery="//media-cdn.list.ly/production/152097/1108914/item1108914_185px?ver=3375875916" data-src-full="//media-cdn.list.ly/production/152097/1108914/item1108914_600px?ver=3375875916" class="option_image colorbox-20069" alt="Internet Archive: Wayback Machine" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Both a handy and fun tool. This internet archive has billions of screenshots of web pages saved over time. Great way to check out what your own or another site looked like in the past.</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108894" data-type="link" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="4" data-name="PageSpeed Insights" data-creator = "41126" data-url = "https://developers.google.com/speed/pagespeed/insights/"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">8</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~https://developers.google.com/speed/pagespeed/insights/" target="_blank" rel="nofollow">PageSpeed Insights</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108894/item1108894_185px.jpeg?ver=8077539269" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108894/item1108894_185px.jpeg?ver=8077539269" data-src-gallery="//media-cdn.list.ly/production/152097/1108894/item1108894_185px.jpeg?ver=8077539269" data-src-full="//media-cdn.list.ly/production/152097/1108894/item1108894_600px.jpeg?ver=8077539269" class="option_image colorbox-20069" alt="PageSpeed Insights" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>This is a great tool from Google for testing your page speed. </p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108917" data-type="link" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="15" data-name="Proportional Scale Calculator" data-creator = "41126" data-url = "http://scriptygoddess.com/resources/proportioncalc.htm"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">9</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~scriptygoddess.com/resources/proportioncalc.htm" target="_blank" rel="nofollow">Proportional Scale Calculator</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108917/item1108917_185px.jpeg?ver=5065868925" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108917/item1108917_185px.jpeg?ver=5065868925" data-src-gallery="//media-cdn.list.ly/production/152097/1108917/item1108917_185px.jpeg?ver=5065868925" data-src-full="//media-cdn.list.ly/production/152097/1108917/item1108917_600px.jpeg?ver=5065868925" class="option_image colorbox-20069" alt="Proportional Scale Calculator" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>If you have even needed to proportionately resize a video or embeded image in a post or page via html, and need to know the scaled size, this one can be handy.</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108889" data-type="" data-lon="" data-lat="" data-tags="[&quot;websites&quot;,&quot;speed&quot;]" data-rnk = "0" data-position="2" data-name="Speedtest.net by Ookla - Ookla Speedtest Mini" data-creator = "41126" data-url = "http://www.speedtest.net/mini.php"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">10</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~www.speedtest.net/mini.php" target="_blank" rel="nofollow">Speedtest.net by Ookla - Ookla Speedtest Mini</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108889/item1108889_185px.png?ver=6492719652" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108889/item1108889_185px.png?ver=6492719652" data-src-gallery="//media-cdn.list.ly/production/152097/1108889/item1108889_185px.png?ver=6492719652" data-src-full="//media-cdn.list.ly/production/152097/1108889/item1108889_600px.png?ver=6492719652" class="option_image colorbox-20069" alt="Speedtest.net by Ookla - Ookla Speedtest Mini" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Test your Internet connection bandwidth to locations around the world with this interactive broadband speed test from Ookla</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108891" data-type="link" data-lon="" data-lat="" data-tags="[&quot;security&quot;,&quot;WordPress&quot;]" data-rnk = "0" data-position="3" data-name="Sucuri Security Free Website Malware and Security Scanner" data-creator = "41126" data-url = "http://sucuri.net"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">11</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~sucuri.net" target="_blank" rel="nofollow">Sucuri Security Free Website Malware and Security Scanner</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108891/item1108891_185px.png?ver=5299994117" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108891/item1108891_185px.png?ver=5299994117" data-src-gallery="//media-cdn.list.ly/production/152097/1108891/item1108891_185px.png?ver=5299994117" data-src-full="//media-cdn.list.ly/production/152097/1108891/item1108891_600px.png?ver=5299994117" class="option_image colorbox-20069" alt="Sucuri Security Free Website Malware and Security Scanner" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Need a quick scan of your site to see if it's been hacked. This free tool at Sucuri will help you.
<br> <span class='ly-hashtag'>#security</span> <span class='ly-hashtag'>#WordPress</span></p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108895" data-type="" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="5" data-name="Time Converter &amp;amp; World Clock" data-creator = "41126" data-url = "http://www.worldtimebuddy.com/"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">12</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~www.worldtimebuddy.com/" target="_blank" rel="nofollow">Time Converter &amp; World Clock</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108895/item1108895_185px.png?ver=5240504567" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108895/item1108895_185px.png?ver=5240504567" data-src-gallery="//media-cdn.list.ly/production/152097/1108895/item1108895_185px.png?ver=5240504567" data-src-full="//media-cdn.list.ly/production/152097/1108895/item1108895_600px.png?ver=5240504567" class="option_image colorbox-20069" alt="Time Converter &amp;amp; World Clock" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Effortless time conversion and world time. Schedule conference calls, webinars &amp; online meetings, plan travel and track flight arrival time across time zones.</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108904" data-type="" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="8" data-name="Time Sheet Calculator" data-creator = "41126" data-url = "http://www.miraclesalad.com/webtools/timesheet.php"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">13</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~www.miraclesalad.com/webtools/timesheet.php" target="_blank" rel="nofollow">Time Sheet Calculator</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108904/item1108904_185px.png?ver=8662173027" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108904/item1108904_185px.png?ver=8662173027" data-src-gallery="//media-cdn.list.ly/production/152097/1108904/item1108904_185px.png?ver=8662173027" data-src-full="//media-cdn.list.ly/production/152097/1108904/item1108904_600px.png?ver=8662173027" class="option_image colorbox-20069" alt="Time Sheet Calculator" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Easily calculate and sum hours using natural or abbreviated time notation. This is particularly handy is you were keeping a random list of times that needed to be added up.</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108888" data-type="link" data-lon="" data-lat="" data-tags="[&quot;WordPress&quot;,&quot;themes&quot;]" data-rnk = "0" data-position="1" data-name="What WordPress Theme Is That?" data-creator = "41126" data-url = "http://whatwpthemeisthat.com/"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">14</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~whatwpthemeisthat.com/" target="_blank" rel="nofollow">What WordPress Theme Is That?</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108888/item1108888_185px?ver=6893562358" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108888/item1108888_185px?ver=6893562358" data-src-gallery="//media-cdn.list.ly/production/152097/1108888/item1108888_185px?ver=6893562358" data-src-full="//media-cdn.list.ly/production/152097/1108888/item1108888_600px?ver=6893562358" class="option_image colorbox-20069" alt="What WordPress Theme Is That?" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Have you ever wondered what WordPress theme a specific site is using? Or if it's even WordPress. This tool let's check just that. It will also detect plugins that a site uses.. not all of them, but most of them.
<br> <span class='ly-hashtag'>#WordPress</span> <span class='ly-hashtag'>#themes</span></p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> <li class="listly-item" data-listly-item="1108909" data-type="" data-lon="" data-lat="" data-tags="[]" data-rnk = "0" data-position="11" data-name="Write Better Headlines: Free Headline Analyzer From CoSchedule - @CoSchedule" data-creator = "41126" data-url = "http://coschedule.com/headline-analyzer"> <div class="ly-item-top cf"> <h2 class="ly-item-title ly-title-font"> <span class="ly-item-number ly-dim">15</span>&nbsp; <a class="ly_external_link" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~coschedule.com/headline-analyzer" target="_blank" rel="nofollow">Write Better Headlines: Free Headline Analyzer From CoSchedule - @CoSchedule</a> </h2> <div class="option_media"> <img src="http://media-cdn.list.ly/production/152097/1108909/item1108909_185px.png?ver=6276623830" data-src-thumbnail="//media-cdn.list.ly/production/152097/1108909/item1108909_185px.png?ver=6276623830" data-src-gallery="//media-cdn.list.ly/production/152097/1108909/item1108909_185px.png?ver=6276623830" data-src-full="//media-cdn.list.ly/production/152097/1108909/item1108909_600px.png?ver=6276623830" class="option_image colorbox-20069" alt="Write Better Headlines: Free Headline Analyzer From CoSchedule - @CoSchedule" data-loaded="false" onload='(function(e){e.setAttribute("data-loaded", "loaded"); if(e.height &gt;= e.width){e.setAttribute("data-vertical", "true")}})(this);' onerror='(function(e){e.setAttribute("src", "https://media-cdn.list.ly/missing-image.png");})(this);' /> <div class="play"><i class="ly-icon-youtube-play"></i></div> </div> <div class="item_detail cf"> <div class="item_note wbreak ly-markdown"><p>Use this free headline analyzer to write awesome headlines for blog posts and email subject lines that drive social shares, traffic, and SEO value.</p> </div> <p class="ly-dim item_from ly-ext-link"></p> </div> </div> <div class="item_footer cf nobrptags ly-dim"> <div class="item-voting "> <span class="btn ly-icon-thumbs-up" data-type="like_it" title="Vote Up"></span> <span class="txt ly-voting-count" title="Who voted?" data-type="votes"> 0 likes </span> <span class='ly-voting-status'></span> </div> <div class="ly-item-actions nobrptags fr"> <div class="ly-comments" title="comments"> <i class="ly-icon-comment ly-comment-count"> </i> <span>Comments</span> </div> <div class="ly-relist ly-extra" title="relist"><i class="ly-icon-relist"></i> <span>Relist</span></div> <div class="ly-share ly-share-item" title="share"><i class="ly-icon-share-alt"></i> <span>Share</span></div> </div> </div> <div class="comments cf" style="display:none !important"></div> <div class="ly-item-edit ly-select ly-dim"></div> </li> </ol> <ol class="optionlist suggested cf" style="display:none !important"> <h2 class="ly-hdng"></h2> </ol> <div class="ly-paginator-container"></div> </div> </div> <div class="ly-footer"></div> </div> <div class="ly_wrap_f" style='padding:4px 0 10px;display:none'> View more <a href='http://list.ly/' target='_blank'>lists</a> from <a href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~list.ly/Bob-Dunn" target="_blank">Bob Dunn</a> </div> </div> <p>The post <a rel="nofollow" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~bobwp.com/online-tools-that-help-me-in-a-pinch/">Online Tools That Help Me In a Pinch</a> appeared first on <a rel="nofollow" href="http://feeds.feedblitz.com/~/t/0/0/bobwp-wordpress/~bobwp.com">BobWP</a>. WordPress All The Time!</p> <Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/88000086/0/bobwp-wordpress">
<div style="clear:both;padding-top:0.2em;"><a title="Add to FaceBook" href="http://feeds.feedblitz.com/_/2/88000086/BobWP-WordPress"><img height="20" src="http://assets.feedblitz.com/i/fbshare20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Like on Facebook" href="http://feeds.feedblitz.com/_/28/88000086/BobWP-WordPress"><img height="20" src="http://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Add to Google Bookmarks" href="http://feeds.feedblitz.com/_/13/88000086/BobWP-WordPress"><img height="20" src="http://assets.feedblitz.com/i/googlebookmark20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.feedblitz.com/_/30/88000086/BobWP-WordPress"><img height="20" src="http://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Add to LinkedIn" href="http://feeds.feedblitz.com/_/16/88000086/BobWP-WordPress"><img height="20" src="http://assets.feedblitz.com/i/linkedin20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Pin it!" href="http://feeds.feedblitz.com/_/29/88000086/BobWP-WordPress,%2f%2fmedia-cdn.list.ly%2fproduction%2f152097%2fheadline.jpeg%3fver%3d0231924125"><img height="20" src="http://assets.feedblitz.com/i/pinterest20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.feedblitz.com/_/24/88000086/BobWP-WordPress"><img height="20" src="http://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.feedblitz.com/_/19/88000086/BobWP-WordPress"><img height="20" src="http://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.feedblitz.com/_/20/88000086/BobWP-WordPress"><img height="20" src="http://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a rel="NOFOLLOW" title="View Comments" href="http://bobwp.com/online-tools-that-help-me-in-a-pinch/#comments"><img height="20" style="border:0;margin:0;padding:0;" src="http://assets.feedblitz.com/i/comments20.png"></a>&#160;<a title="Follow Comments via RSS" href="http://bobwp.com/online-tools-that-help-me-in-a-pinch/feed/"><img height="20" style="border:0;margin:0;padding:0;" src="http://assets.feedblitz.com/i/commentsrss20.png"></a>&nbsp; <div style="clear:left;"><a rel="NOFOLLOW" href="http://bobwp.com/online-tools-that-help-me-in-a-pinch/#comments"><h3>Comments</h3></a><ul><li><a rel="NOFOLLOW" href="http://bobwp.com/online-tools-that-help-me-in-a-pinch/#comment-214525">Thank you Bob, I didn't know about several of these links and ...</a> <i>by Linda Patrick</i></ul></div>&#160;</div>
http://feeds.feedblitz.com/~/88000086/0/bobwp-wordpress~Online-Tools-That-Help-Me-In-a-Pinch-BobWP/text/html2015-03-31T09:13:43+01:00http://abetterplanetwp.comA Better PlanetThank you. And stop using the word “just”.http://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/vhFJWos2_xs/
<p>Today, March 31st, the month ends. Not a big deal. I know.</p>
<p>But for this personal blog, the one that carries my name, and has been my writing spot for almost 3 years now, we&#8217;re hitting a new milestone.</p>
<p>Every month more people stop by. Every month more people find out that there&#8217;s a post here that may help them.</p>
<p>Every month Jetpack and Google Analytics capture that data and tell me about it.</p>
<p>And today, I&#8217;ll have had a month where over <strong>100,000 people stopped by</strong>. In a single month.</p>
<p>That&#8217;s crazy. I&#8217;m trying really hard to wrap my head around it.</p>
<p>Because I keep saying, to myself, &#8220;but it&#8217;s <em>just</em> a blog.&#8221;</p>
<p>Do you do that? Use the word &#8220;just&#8221; to describe your accomplishments?</p>
<p>Well, here&#8217;s what I can tell you &#8211; the secret formula I used &#8211; to make this happen.</p>
<ol>
<li>I didn&#8217;t stress over the numbers.</li>
<li>I kept writing. Even when it was late and I was tired.</li>
<li>I put a single person in front of me for each post and tried to help them.</li>
<li>I tried, for almost all 920 posts, to stay positive.</li>
<li>I shared the posts on Twitter and Facebook &#8211; and have started using <a href="http://chrislema.com/coschedule" target="_blank">CoSchedule</a> to help me.</li>
<li>Did I mention I kept writing, even when it was late and I was tired?</li>
</ol>
<p>Along the way, I found structures to help me share my insights &#8211; mostly frames that let me start with a story.</p>
<p>But this post isn&#8217;t a story.</p>
<p>It&#8217;s just a little personal post to say two things to you:</p>
<p><strong>First, stop using the word &#8220;just&#8221; for anything you do.</strong> Seriously. I suck at it and I&#8217;m trying. So try with me.</p>
<p><strong>Second, don&#8217;t stop trying to help people.</strong> Challenge them. Inspire them. Propel them forward.</p>
<p>If we do these two things who knows what crazy things could happen. Things we might have a hard time wrapping our heads around.</p>
http://chrislema.com/stop-using-the-word-just/text/html2015-03-31T08:47:43+01:00http://abetterplanetwp.comA Better PlanetWordPress Ticketing System Plugin: WPHelpDesk Plugin Reviewhttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/76Sb-ReAdMA/wordpress-ticketing-system-plugin
http://wplift.com/wordpress-ticketing-system-plugintext/html2015-03-31T04:23:00+01:00http://abetterplanetwp.comA Better PlanetCalvin and Hobbes And Mindfulnesshttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/DYyWos4f2h0/
<p>Fun read by J.D. Andre: <a href="https://medium.com/@5rulesforlife/what-calvin-and-hobbes-taught-me-about-mindfulness-21f707245677">What Calvin and Hobbes taught me about mindfulness</a>. I&#8217;ve been practicing daily <a href="http://www.calm.com/">with the Calm app</a>.</p>
http://ma.tt/2015/03/calvin-and-hobbes-and-mindfulness/text/html2015-03-30T13:23:40+01:00http://abetterplanetwp.comA Better PlanetThree More Online Tools for Discovering Which Themes Websites Usehttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/2Lfpa_vXfqw/
http://winningwp.com/automated-tools-to-discover-which-themes-websites-use/text/html2015-03-30T12:00:17+01:00http://abetterplanetwp.comA Better PlanetChoosing a WordPress Theme – The Ultimate Guidehttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/6UomYiuoXqk/
http://www.wpkube.com/choosing-a-wordpress-theme/text/html2015-03-29T17:56:11+01:00http://abetterplanetwp.comA Better PlanetAndrew Nacin has joined the White House’s U.S. Digital Servicehttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/9sBkEdy9KVM/
<p>Andrew Nacin hasn&#8217;t worked at <a href="http://audrey.co/">Audrey Capital</a> since January. At Audrey, he has worked for more than four years for WordPress co-founder Matt Mullenweg, exclusively on the WordPress project. He has <a href="http://nacin.com/2015/03/29/us-digital-service/">joined the White House’s new U.S. Digital Service</a>.</p>
<p><a href="https://www.whitehouse.gov/digital/united-states-digital-service">The U.S. Digital Service</a> is a new organization that operates from the White House, with an aim to modernize and transform the way the federal government operates digitally.</p>
<blockquote><p>When I was approached, I have to admit that I was nervous to step back from the day-to-day buzz of WordPress because I’ve invested so much. But the community stepped up, in most cases not even knowing about my life change. That’s the beauty of open source, and the fantastic WordPress community in particular. WordPress continues to play an important role in my life. With <a href="http://ma.tt">Matt Mullenweg</a>’s support and encouragement, I’m taking time away from Audrey, where I’ve worked since 2010. I’m still actively involved in the project, just not full time.</p></blockquote>
<p>Those that are aware of WordPress core development and Nacin’s role in it, know that he’s enormously influential on the project. He’s lead developer for WordPress and has worked full-time or more than full-time exclusively on WordPress for years. He lead WordPress 3.5, 3.7, and 3.9 in a span of two years. In 2014, Nacin spent a lot of time on security related projects, and he&#8217;s always been heavily involved in a variety of WordPress.org website projects.</p>
<h3>The year of delegation</h3>
<p>Nacin spent much of 2014 attempting to make himself replaceable. No software project is healthy if there is one person that is so indispensable that if they were no longer involved the project would be severely burdened.</p>
<p>From security, to internationalization efforts, to leading releases, to managing the WordPress.org website, Nacin has altered his role throughout the year to empower other contributors to do the type of work he was doing.</p>
<p>His transfer to the U.S. Digital Service just happened to be good timing with this effort. The perfect testament is that he’s been working full time with the U.S. Digital Service since January and the large majority of the WordPress core development community has had no idea.</p>
<p>Some may be concerned about what happens without Nacin full time on core. The answer is that “business as usual” will happen, and is already happening.</p>
<h3>About the U.S. Digital Service</h3>
<p><span class="pullquote alignright">Members of the U.S. Digital Service come from all over the country and some of the top tech companies in the world.</span> Facebook, Twitter, Amazon, Google, and Microsoft are among them. They work on small teams and embed into troubled federal projects to help test, triage, and transform them to success. Wired has a great in-depth article on <a href="http://www.wired.com/2014/08/healthcare-gov/">how the organization works</a>. The team was established in the wake of the Healthcare.gov disaster, and they’re taking the success they had fixing Healthcare.gov across the government.</p>
<p>Nacin is on one of these teams, and it’s hard to imagine a more perfect fit. Those that follow him <a href="https://twitter.com/nacin">on Twitter</a> or know him in person can see his passion for government. He also lives in DC and has friends in various parts of government.</p>
<blockquote><p>It’s my nature to look for the hardest problems to solve. I like to take on big challenges and spend every ounce of energy working to solve them. I believe in what we’re doing here. The stakes are high. No matter the challenge, I know what we’re doing will change millions of lives.</p></blockquote>
<h3>A changing role</h3>
<p>He’ll be away from Audrey for his stint in government. At some point, he may come back to Audrey and resume his work. It’s actually a preferred method of employment for many members of the U.S. Digital Service. Many of the team members are leaving lucrative jobs to work for the government, which has many restrictions that had to be overcome.</p>
<p>They even <a href="http://www.wired.com/2014/08/the-white-house-dickerson/">make exceptions on how they dress</a>. The program is designed for members of the U.S. Digital Service to have flexible employment, where they work for six months, or maybe a year, and then they return to the private sector. They may even rotate into the U.S. Digital Service multiple times.</p>
<p>In his <a href="http://nacin.com/2015/03/29/us-digital-service/">announcement post</a>, Nacin advocates for others to consider <a href="https://www.whitehouse.gov/digital/united-states-digital-service#section-join">joining the U.S. Digital Service</a>. I think it would be incredible if more WordPress developers were involved at that level of government, and it would be a further testament to open source&#8217;s standing in the government community &#8212; a sector that was slow to adopt open technology but now is doing so regularly.</p>
<p>WordPress lead developers are not always full time on WordPress. Mark Jaquith has never been full time on the project. It is more important that they can guide the project, but being a lead developer doesn’t mean writing code for WordPress every day. It means steering the ship, and that’s what Nacin and the other lead developers do day to day.</p>
<p>I’m really excited for Nacin, and I think it’s great for the project. The amount he will learn and engage with the U.S. Digital Service will make him an even better WordPress lead developer. The U.S. Digital Service is also one of the most exciting government initiatives I&#8217;ve ever seen.</p>
<p>You can learn more about his decision to join <a href="http://nacin.com/2015/03/29/us-digital-service/">on his blog</a>, and learn more about the U.S. Digital Service <a href="https://www.whitehouse.gov/digital/united-states-digital-service/">on their website</a>.</p>
<p><em>Photo credit: <a href="http://kldn.net">Vladimir Petkov</a></em></p>
https://poststatus.com/andrew-nacin-has-joined-the-white-houses-u-s-digital-service/text/html2015-03-27T20:59:44+01:00http://abetterplanetwp.comA Better PlanetThe 11 Best Drag and Drop Page Builder WordPress Pluginshttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/hVo8Q2H2gqs/
http://www.wpexplorer.com/best-builder-wordpress/text/html2015-03-27T20:31:42+01:00http://abetterplanetwp.comA Better PlanetIntroducing Cache Buddy: a companion for your WordPress page caching solutionhttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/yyKK1ctgT6Q/
Ahttps://markjaquith.wordpress.com/2015/03/27/cache-buddy/text/html2015-03-26T18:32:37+01:00http://abetterplanetwp.comA Better PlanetWordPress 4.2 Beta 3http://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/HpfYMG2n738/
<p>WordPress 4.2 Beta 3 is now available!</p>
<p><strong>This software is still in development,</strong> so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.2, try the <a href="https://wordpress.org/plugins/wordpress-beta-tester/">WordPress Beta Tester</a> plugin (you’ll want &#8220;bleeding edge nightlies&#8221;). Or you can <a href="https://wordpress.org/wordpress-4.2-beta3.zip">download the beta here</a> (zip).</p>
<p>For more information about what’s new in version 4.2, check out the <a href="https://wordpress.org/news/2015/03/wordpress-4-2-beta-1/">Beta 1</a> and <a href="https://wordpress.org/news/2015/03/wordpress-4-2-beta-2/">Beta 2</a> blog posts. Some of the changes in Beta 3 include:</p>
<ul>
<li>Removed <strong>Shiny Installs</strong> functionality due to concerns about the activation workflow. Please test the remaining &#8220;Shiny Updates&#8221; functionality from both the Plugins &gt; Add New and Plugins screens to ensure in-line updating still works as well as before.</li>
<li>Fixed an issue with the <strong>Comments Quick Edit</strong> layout breaking on smaller screens. Please test on your mobile devices.</li>
<li>Improved <strong>accessibility of login screen errors</strong>. Screen reader users: please let us know if you encounter any issues.</li>
<li>Refined the <strong>emoji compatibility</strong> script to only load on the front- and back-end if the browser requires it. If you&#8217;re using a legacy web browser, please test.</li>
<li>Fixed several issues in <strong>Press This</strong> with inserted images being improperly linked to locations other than the source site. Go ahead, &#8220;press&#8221; a site with images on the page and tell us if the image links aren&#8217;t working as you&#8217;d expect.</li>
<li>Standardized the <strong>time display format</strong> in a variety of admin screens, switching to 24-hour notation where a.m. or p.m. are not specified. Please let us know if you notice you notice anything amiss!</li>
<li><strong>Various other bug fixes</strong>. We&#8217;ve made <a href="https://core.trac.wordpress.org/log?action=stop_on_copy&amp;mode=stop_on_copy&amp;rev=31901&amp;stop_rev=31835&amp;limit=100">more than 65 changes</a> in the last week.</li>
</ul>
<p>If you think you’ve found a bug, you can post to the <a href="https://wordpress.org/support/forum/alphabeta">Alpha/Beta area</a> in the support forums. Or, if you’re comfortable writing a bug report, <a href="https://core.trac.wordpress.org/">file one on the WordPress Trac</a>. There, you can also find <a href="https://core.trac.wordpress.org/tickets/major">a list of known bugs</a> and <a href="https://core.trac.wordpress.org/query?status=closed&amp;group=component&amp;milestone=4.2">everything we’ve fixed</a>.</p>
<p><em>Emoji loader</em><br />
<em>&#8220;Shiny Updates&#8221; still stand firm</em><br />
<em>Beta 3, please test!</em></p>
https://wordpress.org/news/2015/03/wordpress-4-2-beta-3/text/html2015-03-26T15:57:26+01:00http://abetterplanetwp.comA Better PlanetwpMail.me issue#197http://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/IdI_JdHqaLg/
http://wpmail.me/newsletter/wpmail-me-issue197/text/html2015-03-26T15:57:18+01:00http://abetterplanetwp.comA Better PlanetSetting web design budget and expectationhttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/n-OU64yTCRo/
<p>It&#8217;s easy for us to sit back and tell consultants to raise their rates and set better expectations, but it&#8217;s another story when <strong>we</strong> are the customer.</p>
<p>Today’s guest is re-launching his company website and he’s here to tell us how he approached the process. Meet, <a title="Jason Resnick" href="http://rezzz.com/">Jason Resnick</a>, expert WordPress developer, consultant, and business owner.</p>
<p>He&#8217;s in a special segment, as a developer who is routinely hired to <i>build</i> a solution like this, it is not unfamiliar territory for him. However, stepping outside of his comfort zone and setting a realistic budget <i>is</i> new to him. Interviewing designers that understand his goals and branding needs <i>is </i>new to him. Giving up the control of branding while letting someone else drive the bus — <i>new to him.</i></p>
<p>When you know how the sausage is made, things tend to taste a little bit differently. Let’s dive in.</p>
<p><span id="more-6458"></span></p>
<h3>Web re-design project: Setting a budget &amp; expectations</h3>
<p>Hot points:</p>
<ul>
<li>Why he&#8217;s not worried about spending more than $5k</li>
<li>How he&#8217;s going to measure ROI</li>
<li>How he chose his designer out of 20 candidates</li>
<li>Looking back at bad designer to client relationships</li>
<li>Setting up proper communication</li>
<li>Outline the goals for marketing and content at launch</li>
</ul>
<blockquote><p>You have to be willing and open to listen to the expert. It&#8217;s their lively hood. -Jason Resnick</p></blockquote>
<p><strong>Listening options:</strong></p>
<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F197795602&visual=true&color=0066cc&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false"></iframe>
<p><a href="https://itunes.apple.com/us/podcast/matt-report-wordpress-business/id604759202?mt=2" target="_blank">Subscribe on iTunes</a></p>
<p><a href="https://soundcloud.com/matt-report" target="_blank">Subscribe on Soundcloud</a></p>
<!-- This site converts visitors into subscribers and customers with the OptinMonster WordPress plugin v2.1.6.2 - http://optinmonster.com/ -->
<div id="om-s5e7vf4ado-post" class="optin-monster-overlay" style=""><script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js"></script><style type="text/css" class="om-theme-fabric-styles">.optin-monster-success-message {font-size: 21px;font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;color: #282828;font-weight: 300;text-align: center;margin: 0 auto;}.optin-monster-success-overlay .om-success-close {font-size: 32px !important;font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif !important;color: #282828 !important;font-weight: 300 !important;position: absolute !important;top: 0px !important;right: 10px !important;background: none !important;text-decoration: none !important;width: auto !important;height: auto !important;display: block !important;line-height: 32px !important;padding: 0 !important;}.om-helper-field {display: none !important;visibility: hidden !important;opacity: 0 !important;height: 0 !important;line-height: 0 !important;}html div#om-s5e7vf4ado-post * {box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;}html div#om-s5e7vf4ado-post {background:none;border:0;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;float:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:auto;letter-spacing:normal;outline:none;position:static;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;width:auto;visibility:visible;overflow:visible;margin:0;padding:0;line-height:1;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-shadow:none;-moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;box-shadow:none;-webkit-appearance:none;}html div#om-s5e7vf4ado-post .om-clearfix {clear: both;}html div#om-s5e7vf4ado-post .om-clearfix:after {clear: both;content: ".";display: block;height: 0;line-height: 0;overflow: auto;visibility: hidden;zoom: 1;}html div#om-s5e7vf4ado-post #om-post-fabric-optin {border: 1px solid #dcdcd9;-webkit-box-shadow: 0px 6px 11px -7px #000000;-moz-box-shadow: 0px 6px 11px -7px #000000;box-shadow: 0px 6px 11px -7px #000000;position: relative;text-align: center;margin: 0 auto;max-width: 100%;width: 100%;}html div#om-s5e7vf4ado-post #om-post-fabric-header {background-color: #f16a10;}html div#om-s5e7vf4ado-post #om-post-fabric-optin-title {font-size: 26px;color: #fff;-webkit-text-shadow: #888 -0 0 1px;-moz-text-shadow: #888 -0 0 1px;text-shadow: #888 -0 0 1px;width: 100%;padding: 25px 40px;}html div#om-s5e7vf4ado-post #om-post-fabric-content {background: url(https://mattreport.com/wp-content/plugins/optin-monster-post/includes/themes/fabric/images/background.png);background-color: #fbfdf3;}html div#om-s5e7vf4ado-post #om-post-fabric-optin-tagline {display: table-cell;font-size: 16px;line-height: 24px;color: #858585;width: 100%;margin-bottom: 15px;padding-left: 0;vertical-align: middle;}html div#om-s5e7vf4ado-post #om-post-fabric-left {display: table-cell;vertical-align: middle;width: 50%;padding: 50px 30px;position: relative;}html div#om-s5e7vf4ado-post #om-post-fabric-left.om-has-image #om-post-fabric-optin-tagline {width: 75%;padding-left: 15px;}html div#om-s5e7vf4ado-post #om-post-fabric-optin-image-container {display: table-cell;vertical-align: middle;position: relative;width: 0%;height: auto;}html div#om-s5e7vf4ado-post #om-post-fabric-left.om-has-image #om-post-fabric-optin-image-container {width: 25%;}html div#om-s5e7vf4ado-post #om-post-fabric-optin-image-container img {display: block;margin: 0 auto;text-align: center;height: auto;max-width: 100%;}html div#om-s5e7vf4ado-post #om-post-fabric-right {display: table-cell;vertical-align: middle;width: 50%;padding: 50px 30px 50px 0;position: relative;}html div#om-s5e7vf4ado-post input,html div#om-s5e7vf4ado-post #om-post-fabric-optin-name,html div#om-s5e7vf4ado-post #om-post-fabric-optin-email {background-color: #fff;width: 100%;height: 45px;border: 1px solid #c7c9bd;border-radius: 3px;font-size: 16px;line-height: 24px;padding: 6px;overflow: hidden;outline: none;margin: 0 0 10px;vertical-align: middle;display: inline;color: #222;}html div#om-s5e7vf4ado-post input[type=submit],html div#om-s5e7vf4ado-post button,html div#om-s5e7vf4ado-post #om-post-fabric-optin-submit {background: #f16a10;border: 1px solid #cc611b;-webkit-box-shadow: 0 1px 1px -1px #fff inset;-moz-box-shadow: 0 1px 1px -1px #fff inset;box-shadow: 0 1px 1px -1px #fff inset;-webkit-text-shadow: #888 -0 0 1px;-moz-text-shadow: #888 -0 0 1px;text-shadow: #888 -0 0 1px;color: #fff;font-size: 16px;padding: 6px;line-height: 24px;text-align: center;vertical-align: middle;cursor: pointer;display: inline;margin: 0;margin-top: 10px;width: 100%;}html div#om-s5e7vf4ado-post input[type=checkbox],html div#om-s5e7vf4ado-post input[type=radio] {-webkit-appearance: checkbox;width: auto;outline: invert none medium;padding: 0;margin: 0;}.optin-monster-image-placeholder {background-size: contain !important;}@media screen and (max-width: 600px) {html div#om-s5e7vf4ado-post #om-post-fabric-left,html div#om-s5e7vf4ado-post #om-post-fabric-right {display: block;width: 100%;padding: 0 30px;}html div#om-s5e7vf4ado-post #om-post-fabric-left {padding-top: 50px;padding-bottom: 20px;}html div#om-s5e7vf4ado-post #om-post-fabric-right {padding-bottom: 50px;}}</style><div id="om-post-fabric-optin" class="om-post-fabric om-clearfix om-theme-fabric "><div id="om-post-fabric-optin-wrap" class="om-clearfix"><div id="om-post-fabric-header" class="om-clearfix" data-om-action="selectable" data-om-target="#optin-monster-field-header_bg" style="background-color:#3c639a"><div id="om-post-fabric-optin-title" data-om-action="editable" data-om-field="title" style="color:#fff;font-family:Helvetica;font-size:26px;text-align:center;">Weekly WordPress tips and news for the digital business owner.</div></div><div id="om-post-fabric-content" class="om-clearfix" data-om-action="selectable" data-om-target="#optin-monster-field-content_bg" style="background-color: #ffffff"><div id="om-post-fabric-left" class=""><div id="om-post-fabric-optin-image-container" class="om-image-container om-clearfix"></div><div id="om-post-fabric-optin-tagline" data-om-action="editable" data-om-field="tagline" style="color:#858585;font-family:Helvetica;font-size:16px;">Too busy to stay on top of everything? I&#39;ll deliver the best of WordPress every week. Join over 1,000 WordPress business owners.&nbsp;</div></div><div id="om-post-fabric-right" class=" om-has-email"><input id="om-post-fabric-optin-email" type="email" value="" data-om-action="selectable" data-om-target="#optin-monster-field-email_field" placeholder="Enter your email address here..." style="color:#858585;font-family:Helvetica;" /><input id="om-post-fabric-optin-submit" type="submit" data-om-action="selectable" data-om-target="#optin-monster-field-submit_field" value="Sign Up" style="color:#ffffff;background-color:#d22222;border-color:rgb(198,32,32);font-family:Helvetica;" /></div></div></div><input type="email" name="email" value="" class="om-helper-field" /><input type="text" name="website" value="" class="om-helper-field" /></div><script type="text/javascript">jQuery(document).ready(function($){});</script></div>
<script type="text/javascript">var s5e7vf4ado_post, omo = {"id":6355,"optin":"s5e7vf4ado-post","campaign":"Weekly WP After Post","clones":[6356],"hash":"s5e7vf4ado-post","optin_js":"s5e7vf4ado_post","type":"post","theme":"fabric","cookie":0,"delay":0,"second":false,"exit":false,"redirect":"","redirect_pass":false,"custom":false,"test":false,"global_cookie":false,"preview":false,"ajax":"https:\/\/mattreport.com\/?optin-monster-ajax-route=1","mobile":false,"post_id":6458,"preloader":"https:\/\/mattreport.com\/wp-content\/plugins\/optin-monster\/assets\/css\/images\/preloader.gif","error":"There was an error with your submission. Please try again.","ajax_error":"There was an error with the AJAX request: ","name_error":"Please enter a valid name.","email_error":"Please enter a valid email address.","bot_error":"Honeypot fields have been activated. Your submission is being flagged as potential spam.","success":"Thanks for subscribing! Please check your email for further instructions."}; s5e7vf4ado_post = new OptinMonster(); s5e7vf4ado_post.init(omo);</script>
<!--[if lte IE 9]><script type="text/javascript">var om_ie_browser = true;</script><![endif]--><!-- / OptinMonster WordPress plugin. -->
https://mattreport.com/setting-web-design-budget-and-expectation/text/html2015-03-25T04:38:14+01:00http://abetterplanetwp.comA Better PlanetTemplate terms and policies for WordPress multisite businesseshttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/bjd9Ca3_whY/
http://wpandlegalstuff.com/template-terms-and-policies-for-wordpress-multisite-businesses/text/html2015-03-23T20:34:28+01:00http://abetterplanetwp.comA Better PlanetWordCamp London 2015 Recaphttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/JrQUsgoKx24/
<p>Past weekend I attended WordCamp London together with my co-workers from required+. It was my first WordCamp in the UK and I was excited to hear inspiring talks and meet lots of fine folks from the community. These are my highlights:</p>
<h3>We Are Required</h3>
<figure id="attachment_993" style="width: 300px;" class="wp-caption alignleft"><img class="size-medium wp-image-993" src="https://spinpress.com/content/uploads/2015/03/required-badges-wordcamp-london-300x300.jpg" alt="required+ at WordCamp London" width="300" height="300" /><figcaption class="wp-caption-text">required+ at WordCamp London</figcaption></figure>
<p>Since February I’ve been working with <a title="required+" href="http://required.ch" target="_blank">required+</a>, a Swiss WordPress and UX agency. WordCamp London was my first company trip and it really was amazing. We had philosophical discussions about being members of the open source community and worked on some of our current projects.</p>
<p>Silvan, one of the founders of required+, spontaneously held a talk about “Multisite on a tight budget” on Sunday because Simon Dickson wasn’t able to attend due to illness. Although I would have loved to hear Simon’s talk, this was a great opportunity to tell the world why <em>we are required</em>.</p>
<h3>The Talks</h3>
<figure id="attachment_998" style="width: 300px;" class="wp-caption alignright"><img class="size-medium wp-image-998" src="https://spinpress.com/content/uploads/2015/03/adrian-zumbrunnen-wordcamp-london-300x225.jpg" alt="Adrian Zumbrunnen at WordCamp London" width="300" height="225" /><figcaption class="wp-caption-text">Adrian Zumbrunnen at WordCamp London (photo: <a title="Twitter – Petya Raykovska" href="https://twitter.com/petyeah/status/579580114230464513" target="_blank">@petyeah</a>)</figcaption></figure>
<p>The event was split up in two days and three tracks (development, non-profit, business), with room for many eye-opening sessions. For example, Petya Raykovska shared her experience <a title="The Fight for Independent Media" href="http://london.wordcamp.org/2015/session/the-fight-for-independent-media/" target="_blank">fighting for independent media in Bulgaria</a>. <a title="Catching Your Great White Buffalo" href="http://london.wordcamp.org/2015/session/how-i-used-wordpress-for-my-dream-project-cfcommunity/" target="_blank">Bowe Frankema&#8217;s talk</a> about catching your “Great White Buffalo” was very inspiring because SpinPress currently is kinda my great white buffalo as well.</p>
<p>Adrian Zumbrunnen made quite some jokes while giving his presentation on <a title="Smart Animations in User Interfaces" href="http://london.wordcamp.org/2015/session/smart-animations-in-user-interfaces/" target="_blank">smart transitions in UI design</a> and WordPress core developer Mark Jaquith told the audience <a title="Cache Money Business" href="http://london.wordcamp.org/2015/session/cache-money-business/" target="_blank">how to use smart caching</a>. There were also some awesome lightning talks and even a Q&amp;A with some of the WordPress lead developers.</p>
<p>The talks will hopefully soon be on WordPress.tv, so stay tuned!</p>
<h3>The People</h3>
<p>WordCamp London was very valuable for me because I met awesome people, some of whom I’ve known from twitter only. Hearing other people’s opinions is always very important and I got some great feedback on SpinPress and <a title="WP Talents" href="https://wptalents.com" target="_blank">WP Talents</a>. So thanks to everybody I chatted with!</p>
<h2>Summary</h2>
<p>I haven’t even mentioned the Mario Kart sessions at the after-party and the moody English weather… Long story short, WordCamp London was awesome and I definitely recommend attending it! I had a great time and am already looking forward to implementing all the things I&#8217;ve been discussing.</p>
https://spinpress.com/wordcamp-london-2015-recap/?utm_source=rss&utm_medium=rss&utm_campaign=wordcamp-london-2015-recaptext/html2015-03-23T19:47:32+01:00http://abetterplanetwp.comA Better PlanetGiving back for the future of open sourcehttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/ZK_HyomDnGE/
<p>Open source is at the very heart of my business model and the ideals and philosophies of open source are ones on which I choose to run my business. While it&#8217;s difficult to say whether the failure of open source would have a truly negative impact on the success of Pippin&#8217;s Pages, LLC, it&#8217;s downfall would severely impact the flexibility and openness with which my team and I operate every day.</p>
<blockquote><p>By getting out of our sea and exploring the many, many islands of open source, we expose ourselves to the wonderful educational opportunities that other projects present.</p></blockquote>
<p>Last week, we had our first &#8220;Contributor Day Thursday&#8221;. As a team, we have decided to spend two hours every Thursday giving back to other open source projects. This includes WordPress, plugins and themes for WordPress, and any other open source project that we find suitable. Our team has a wide array of skills so we spread out our contributions accordingly. For the first contribution day, members of the EDD team did the following:</p>
<ul>
<li>Answers support tickets on WordPress.org</li>
<li>Helped review themes for the WordPress.org repository</li>
<li>Submitted feedback, patches, and testing to WordPress core</li>
<li>Submitted feedback and began working on a patch for WooCommerce</li>
<li>Built and released a free add-on for WooCommerce</li>
<li>Submitted a patch for a bug on WordPress.org</li>
</ul>
<p>Each week, every team member gets to pick what they want to work on and are then free to go as far as they wish with it.</p>
<p>WordPress and other open source projects are the very foundation on which we have built a successful business. While I&#8217;m sure we would all be doing just fine and working on something else without WordPress, it&#8217;s undeniable that WordPress has played a huge role in the shaping of our team, our business, and our friendships. It is only right that we spend at least a small amount of time giving back.</p>
<p>Contributing back to WordPress and other open source projects goes further than just &#8220;it&#8217;s right to give back&#8221;. Each week we spend countless hours working inside of our EDD fish bowl, going around and around in circles working on the same project(s) for weeks or months on end. We are in our support forums, our bug tracker, our source code, our site design, etc. When so much time is spent within our own projects, we tend to get consumed by them and forget about (or ignore) the tremendous amount of activity that goes on with other projects.</p>
<p>By getting out of our sea and exploring the many, many islands of open source, we expose ourselves to the wonderful educational opportunities that other projects present. We get the opportunity to see what the challenges other projects are facing and how their leaders are solving them. We get the chance to apply our skills to more diversified applications and to expand our own interests, relationships, and skill sets beyond the projects that consume us on a daily basis.</p>
<p>Of all things I&#8217;ve found that help us each grow as developers, support agents, designers, etc, contributing back to other projects is one of the best.</p>
https://pippinsplugins.com/giving-back-for-the-future-of-open-source/text/html2015-03-17T04:47:39+01:00http://abetterplanetwp.comA Better PlanetbbPress 2.5.6 – Maintenance Releasehttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/9s5XLz_G6b4/
<p>Because 2.5.5 was so good 2 weeks ago, we are releasing bbPress 2.5.6 tonight. It fixes 1 issue with subscription notification emails that was plaguing a few of our more sophisticated installations.</p>
<p>If you&#8217;re using any version of bbPress 2.x and have been hesitating to upgrade, please consider doing so today. If you need help, please reach out in our <a href="https://bbpress.org/forums/">support forums</a> and someone will help you get updated.</p>
<p>Thanks to netweb, DJPaul, and mordauk for their diligence in patching and prioritizing this issue.</p>
https://bbpress.org/blog/2015/03/bbpress-2-5-6-maintenance-release/text/html2015-03-16T14:09:13+01:00http://abetterplanetwp.comA Better PlanetBuddyPress at WordCamp Londonhttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/bPD7RdYnUWM/
<p>The BuddyPress team and many of our contributors regularly attend WordCamps around the world. If you&#8217;re unfamiliar with <a href="http://central.wordcamp.org/">WordCamps</a>, they are affordable WordPress conferences organised by volunteers who are passionate about WordPress and the WordPress community. Contributor Days often accompany WordCamps, and they are a chance for you to learn how to contribute back to WordPress from people who are already contributors.</p>
<p>You can <a href="http://central.wordcamp.org/schedule/">find your nearest WordCamp at WordCamp Central</a>.</p>
<p>At WordCamps, the BuddyPress team enjoy meeting people who use BuddyPress, and we love to discover what&#8217;s being built with it! WordCamps are one of our most important touchpoints with our community, and they help us to refocus our goals and expectations alongside those of the community.</p>
<p><strong>Next weekend (20th – 22nd March, 2015) is <a href="http://london.wordcamp.org/2015">WordCamp London</a> (UK), at the London Metropolitan University. <a href="http://london.wordcamp.org/2015/tickets/">Tickets are still available.</a> There is a <a href="http://london.wordcamp.org/2015/contributor-day/">Contributor Day on the 20th</a>.</strong></p>
<p>If you are going to WordCamp London and want to talk BuddyPress, then you&#8217;re in luck! London is going to have a sizeable gathering of regular BuddyPress contributors. You might recognise the following people from the BuddyPress team who are attending: <a href="https://profiles.wordpress.org/imath">Mathieu Viet</a> (@imath), <a href="https://profiles.wordpress.org/hnla">Hugo Ashmore</a> (<a href='https://buddypress.org/members/hnla/' rel='nofollow'>@hnla</a>), <a href="https://twitter.com/henrywright">Henry Wright</a> (@henrywright), <a href="https://profiles.wordpress.org/DJPaul">Paul Gibbs</a> (<a href='https://buddypress.org/members/djpaul/' rel='nofollow'>@djpaul</a>) &#8212; amongst others.</p>
<p>Don&#8217;t miss regular contributor Bowe Frankema&#8217;s presentation on the Saturday, &#8220;<a href='http://london.wordcamp.org/2015/session/how-i-used-wordpress-for-my-dream-project-cfcommunity/'>How I Used WordPress for my Dream Project: CFCommunity</a>&#8220;, and learn about how BuddyPress played a part in that project.</p>
<p><strong>If you want to learn how to contribute to BuddyPress, or in any other part of BuddyPress, then don&#8217;t forget the Contributor Day!</strong>. <i>You do not need to be a developer or coder to be involved in the Contributor Day</i> &#8211; help with design, documentation, and user testing is always welcome. Contributor Day is free to attend, but there is <a href="http://london.wordcamp.org/2015/contributor-day/">a separate registration form that you need to complete</a>.</p>
<p>See you soon!</p>
https://buddypress.org/2015/03/wordcamp-london-2015/text/html2015-03-09T11:38:52+01:00http://abetterplanetwp.comA Better PlanetCapture the Flag / OTA 2015http://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/UYVkbWn3cPk/
<p>This past weekend I participated in my first Capture the Flag challenge which was hosted by Matt Hamilton (Eriner) and other folks of the <a href="http://givemesecurity.info/opentoallctfteam/about-us/">OTA Team</a>. It was an epic 72 hours. We teamed up with <a href="http://codeseekah.com/">my brother</a> and took 5th place.</p>
<p>During those 72 hours I learned a lot more than I knew about steganography, cryptography, filesystem superblocks, and even got to sharpen my math skills. I must admit I knew nothing (or maybe forgot everything) about calculus.</p>
<p>My favorite challenge was cracking an <a href="http://www.youtube.com/watch?v=G2_Q9FoD-oQ">Enigma</a>-encoded message. It turns out that the military version of this 1920s machine has over 158 quintillion (!) different ways to setup the initial key. My first blind attempt at bruteforcing it yielded only one million combinations in about 10 minutes. Yeah, good luck with that.</p>
<p><img class="size-full wp-image-8168 alignnone" src="https://kovshenin.com/wp-content/uploads/sites/5/2015/03/enigma-machine.jpg" alt="The Enigma Machine" width="630" height="374" /></p>
<p>Luckily there are much more <a href="http://practicalcryptography.com/cryptanalysis/breaking-machine-ciphers/cryptanalysis-enigma-part-2/">effective algorithms</a> to crack the message in fewer steps (yes, faster than the <a href="http://www.youtube.com/watch?v=QZFol3gH1pg">Turing Bombe</a>), by relying on quadgram statistics, given that we know the language of the original message.</p>
<p>Thanks to the OTA Team for hosting this online event! If you&#8217;re looking to join such an event in the future, check out <a href="https://ctftime.org/">ctftime.org</a>.</p>
<p><a href="https://kovshenin.com/2015/ctf-ota-2015/?utm_source=feed&#038;utm_medium=click_here_to_comment&#038;utm_campaign=feed#comments">Click here to comment</a></p>
<h3>More from Konstantin Kovshenin</h3>
<ul>
<li><a href="https://kovshenin.com/2014/color-options-vs-decisions/?utm_source=feed&#038;utm_medium=latest_posts&#038;utm_campaign=feed">Color Options vs. Decisions in WordPress Themes</a></a></li>
<li><a href="https://kovshenin.com/2014/child-themes-import/?utm_source=feed&#038;utm_medium=latest_posts&#038;utm_campaign=feed">An Alternative to @import in WordPress Child Themes</a></a></li>
<li><a href="https://kovshenin.com/2014/megafon-moscow-privacy-advertising/?utm_source=feed&#038;utm_medium=latest_posts&#038;utm_campaign=feed">MegaFon Moscow: Privacy &#038; Advertising</a></a></li>
<li><a href="https://kovshenin.com/2014/wordcamp-russia-2014/?utm_source=feed&#038;utm_medium=latest_posts&#038;utm_campaign=feed">WordCamp Russia 2014</a></a></li>
<li><a href="https://kovshenin.com/2014/stay-tuned-for-wordcamp-russia-2014/?utm_source=feed&#038;utm_medium=latest_posts&#038;utm_campaign=feed">Stay Tuned for WordCamp Russia 2014</a></a></li>
</ul>
https://kovshenin.com/2015/ctf-ota-2015/text/html2015-03-06T10:51:33+01:00http://abetterplanetwp.comA Better PlanetGiveaway: Three lucky winners will win a ThemeFuse Exposure WordPress themehttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/HCk2qJ4wE9o/giveaway-three-lucky-winners-will-win-a-themefuse-exposure-wordpress-theme
<p><a href="http://themefuse.com/wp-themes-shop/photography-wordpress-theme/" target="_blank"><img width="720" src="http://themefuse.com/wp-content/uploads/2015/02/Slide_1-Exposure.jpg" alt="Photography WordPress Theme" /></a></p>
<p>Everyone knows that a great theme is a must-have on WordPress, and ThemeFuse delivers that with every theme. <a href="http://themefuse.com/"><strong>ThemeFuse.com</strong></a> is giving away vouchers for their amazing photography WordPress theme. You could be one of the winners, and you’ll get one of their high quality themes to help you create an amazing website.</p>
<p>Only three easy steps can have you in the running to win:</p>
<p>Leave your comment and tell us why you should win. Make sure to tell us what you’ll do with your new Exposure WordPress theme.</p>
<p>Tell your followers by tweeting: Win a free copy of @ThemeFuse #WordPress Theme from @catswhocode (RT to Enter).</p>
<p>Involve your Facebook friends by liking the <a href="http://www.facebook.com/themefuse" target="_blank">ThemeFuse Facebook page</a>.</p>
<p>The Exposure WordPress theme, which is built on the <a href="http://unyson.io/"><strong>Unyson</strong></a> framework that provides you with the features and customization options you need to create an awesome website that fits your unique style and design. ThemeFuse created Unyson to be easy to use and packed with customization options.</p>
<p><a href="http://themefuse.com/wp-themes-shop/photography-wordpress-theme/" target="_blank"><img width="720" src="http://themefuse.com/wp-content/uploads/2015/02/Framework-Exposure.jpg" alt="Unyson WordPress Framework" /></a></p>
<p>You’ll be able to create highly customized mega menu configurations from the responsive MegaMenu.</p>
<p><a href="http://themefuse.com/wp-themes-shop/photography-wordpress-theme/" target="_blank"><img width="720" src="http://themefuse.com/wp-content/uploads/2015/02/Mega-Menu-Exposure.jpg" alt="Exposure Mega Menu" /></a></p>
<p>The Visual page builder features a drag and drop design to get your website done in just a few minutes, allowing for ultimate creativity that is super easy to use.</p>
<p><a href="http://themefuse.com/wp-themes-shop/photography-wordpress-theme/" target="_blank"><img width="720" src="http://themefuse.com/wp-content/uploads/2015/02/Visual-Page-Builder-Exposure1.jpg" alt="Visual Page Builder" /></a></p>
<p>With the Exposure photography WordPress theme you’ll get a default blog page, plus many other drag and drop page layouts to help you create all the pages you need for your awesome new website.</p>
<p><a href="http://themefuse.com/wp-themes-shop/photography-wordpress-theme/" target="_blank"><img width="720" src="http://themefuse.com/wp-content/uploads/2015/02/Layouts-Exposure.jpg" alt="Theme Layouts" /></a></p>
<p>You can use your creativity to use the drag and drop page builder and shortcodes to design complex pages in less time than you’ve ever thought possible.</p>
<p><a href="http://themefuse.com/wp-themes-shop/photography-wordpress-theme/" target="_blank"><img width="720" src="http://themefuse.com/wp-content/uploads/2015/02/Shortcodes-Exposure.jpg" alt="Exposure Shortcodes" /></a></p>
<p>If you want to find out if you are one of the three lucky winners, make sure to come back in one week to see if you are one of the posted winners!</p>
<img src="//feeds.feedburner.com/~r/Wprecipes/~4/O7r2kSaulBo" height="1" width="1" alt=""/>http://feedproxy.google.com/~r/Wprecipes/~3/O7r2kSaulBo/giveaway-three-lucky-winners-will-win-a-themefuse-exposure-wordpress-themetext/html2015-02-24T17:37:46+01:00http://abetterplanetwp.comA Better PlanetRICG Responsive Images For WordPresshttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/nLsJ7NGZkq4/
<p>I recently teamed up with Mat Marquis of the Responsive Images Community Group to help integrate responsive images into the WordPress platform. We decided to refactor a plugin that I had built several months ago, hoping that it would lead to a more useable and performant solution.</p>
<p>After months of pull requests, conversations on Slack and help from WordPress’ core team, we’re finally ready to share what we’ve been working on. You can download and install <a href="https://wordpress.org/plugins/ricg-responsive-images/">RICG Responsive Images</a><sup class="po" id="note-1"><a href="#1">1</a></sup> from WordPress’ plugin directory, while keeping track of our <a href="https://github.com/ResponsiveImagesCG/wp-tevko-responsive-images">development progress on GitHub</a><sup class="po" id="note-2"><a href="#2">2</a></sup>.</p>
<p><img property="image" src="http://media.mediatemple.netdna-cdn.com/wp-content/uploads/2015/02/ricg-wp-preview-image.png" /></p>
<h3>What Does The Plugin Do?</h3>
<p>WordPress hasn’t changed the way it outputs the <code>img</code> tag in quite some time. And although there are plenty of ways to hook into WordPress’ native functions and alter the <code>img</code> snippet, doing so can be overwhelming for beginners and non-theme developers alike. Compound that with the complexity of Picturefill and of the <code>srcset</code> specification, and WordPress users have had few options for implementing a clean and properly functioning responsive images solution.</p>
<p>To solve this problem, we set out to build a plugin that gives users responsive images as soon as the plugin is installed, with no extra effort needed. No admin setting, media uploading configuration or coding is required. The plugin <a href="http://scottjehl.github.io/picturefill/">comes with one dependency</a><sup class="po" id="note-3"><a href="#3">3</a></sup>, a polyfill for browsers that don’t yet support native responsive images. Removing this file is completely optional and will not affect the functionality of the plugin, as long as the user has a modern browser.</p>
<p>As soon as an image is uploaded through the media interface, WordPress automatically creates three variations of the image at different sizes. When the plugin is activated, adding “Featured” and content images to a post will return WordPress’ standard image markup, with an <a href="http://www.smashingmagazine.com/2013/08/21/webkit-implements-srcset-and-why-its-a-good-thing/">added <code>srcset</code> attribute</a><sup class="po" id="note-4"><a href="#4">4</a></sup>. We’re using the <code>srcset</code> attribute because it’s the easiest attribute for both developers and users to add. While the <code>picture</code> element provides the user with a <a href="http://alistapart.com/article/responsive-images-in-practice#section4">richer set of options</a><sup class="po" id="note-5"><a href="#5">5</a></sup>, we felt that the <code>srcset</code> attribute makes the most sense as an out-of-the-box solution. It’s also best to use when you’re focusing on <a href="http://css-tricks.com/responsive-images-youre-just-changing-resolutions-use-srcset/">resolution-switching more than art direction</a><sup class="po" id="note-6"><a href="#6">6</a></sup> (more on that later in the article).</p>
<pre><code class="language-markup">&lt;a href=&quot;http://ricg.dev/wp-content/uploads/2015/01/image.jpg&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-6&quot; src=&quot;http://ricg.dev/wp-content/uploads/2015/01/image.jpg&quot; srcset=&quot;http://ricg.dev/wp-content/uploads/2015/01/image-150x150.jpg 150w, http://ricg.dev/wp-content/uploads/2015/01/image-300x300.jpg 300w, http://ricg.dev/wp-content/uploads/2015/01/image-1024x1024.jpg 1024w, http://ricg.dev/wp-content/uploads/2015/01/image.jpg 1800w&quot; alt=&quot;a cool responsive image&quot; width=&quot;1800&quot; height=&quot;1800&quot;&gt;&lt;/a&gt;
</code></pre>
<p>The plugin is designed to be backwards-compatible, meaning that images added before the plugin was installed will be responsive when added to a post or “Featured Image” section. This is because it uses the image sizes previously defined by WordPress and the active theme’s <code>functions.php</code> file. The image ratio will be maintained throughout the <code>srcset</code> array, meaning that images differing from the aspect ratio of the initial uploaded image will be left out.</p>
<p>Theme developers can use the plugin to place responsive images wherever they’d like by using the <code>tevkori_get_srcset_string()</code> function, which takes an image’s ID and size as parameters.</p>
<pre><code class="language-markup">&lt;img src=&quot;myimg.png&quot; &lt;?php echo tevkori_get_srcset_string( 11, 'medium' ); ?&gt; /&gt;
</code></pre>
<p>There’s also a <code>tevkori_get_srcset_array()</code> function that takes the same parameters and returns an array of <code>srcset</code> values for the specified image.</p>
<h3>How Does The Plugin Work?</h3>
<p>Most of the functionality happens when an image is dropped into WordPress’ WYSIWYG editor. Because all of the resized images will have been created during the uploading process, the only thing left to do is create an array containing the URLs of the available images in various sizes, as well as their dimensions. This array is then filtered to remove the image sizes with aspect ratios that don’t match the ratio of the full-sized image.</p>
<p>The array is created by calling the <code>wp_get_attachment_image_src()</code> function and storing the results. At the same time, we use <code>wp_get_attachment_metadata()</code> to retrieve the same results but for every possible variation of the image. Next, the ratio is calculated by multiplying each image’s width by the result of the initial image’s height divided by the initial image’s width. If that result matches the initial image’s height, then the image will be pushed into the final array, to be returned by the <code>tevkori_get_srcset_array()</code> function.</p>
<p>The <code>tevkori_get_srcset_string()</code> function calls <code>tevkori_get_srcset_array()</code> and places the result inside of the <code>srcset</code> attribute. A filter is applied to the <code>image_send_to_editor</code> function, where a regular expression is used to place the result of the <code>tevkori_get_srcset_string()</code> function directly after the <code>src</code> attribute in the image. The same process occurs for featured images, with a filter being applied to the <code>post_thumbnail_html</code> function.</p>
<p>If the image size is changed in the post’s editor, then the plugin will detect the change and update the <code>srcset</code> value accordingly. This ensures that the correct image ratio is always maintained. To enable this functionality, we’re using JavaScript to hook into the <a href="http://codex.wordpress.org/Javascript_Reference/wp.media"><code>wp.media</code> object</a><sup class="po" id="note-7"><a href="#7">7</a></sup> and recalculating the <code>srcset</code> attribute by running the same image-ratio calculations defined in <code>tevkori_get_srcset_array()</code>. Before starting on this project, I was unaware of the <code>wp.media</code> object and its useful functionality. Because not much documentation for it exists, explaining in detail how we’re using it might be helpful. As it turns out, you can listen for an <code>image-update</code> event in the post’s editor by adding an event listener to the <code>wp.media</code> object.</p>
<pre><code class="language-javascript">wp.media.events.on( 'editor:image-update', function( args ) {
var image = args.image;
//more function logic
});
</code></pre>
<p>With this function, a theme developer can access every image as soon as it has been updated in the post’s editor. You can also take advantage of <a href="http://underscorejs.org/">Underscore</a><sup class="po" id="note-8"><a href="#8">8</a></sup>, which is used as a dependency by the media uploader to edit image data on the fly. In the case of our plugin, we’re using a helpful Underscore utility to get our image-size ratios once the <code>editor:image-update</code> event has been fired.</p>
<pre><code class="language-javascript">// Grab all of the sizes that match our target ratio and add them to our srcset array.
_.each(sizes, function(size){
var softHeight = Math.round( size.width * metadata.height / metadata.width );
// If the height is within 1 integer of the expected height, let it pass.
if ( size.height &gt;= softHeight - 1 &amp;&amp; size.height &lt;= softHeight + 1 ) {
srcsetGroup.push(size.url + &#039; &#039; + size.width + &#039;w&#039;);
}
});
</code></pre>
<p>To learn more about how we hook into the <code>wp.media</code> object, be sure to look at the <a href="https://github.com/ResponsiveImagesCG/wp-tevko-responsive-images/blob/master/js/wp-tevko-responsive-images.js">code in <code>wp-tevko-responsive-images.js</code></a><sup class="po" id="note-9"><a href="#9">9</a></sup>.</p>
<h3>The sizes Attribute</h3>
<p>Currently, this plugin doesn’t add a <a href="http://ericportis.com/posts/2014/srcset-sizes/#part-2"><code>sizes</code> attribute</a><sup class="po" id="note-10"><a href="#10">10</a></sup> to complement the <code>srcset</code> attribute. The reason is that we initially recognized that we could never predict what those sizes would need to be, because they depend on how the user’s theme is styled. While we are working on a solution to this issue, we’re encouraging all users to include a <code>sizes</code> attribute on their own, either manually or via another WordPress plugin, such as <a href="https://github.com/aFarkas/wp-lazysizes">wp-lazysizes</a><sup class="po" id="note-11"><a href="#11">11</a></sup>. One thing to note is that the responsive images specification has recently changed, and use of the <code>w</code> descriptor must now be followed by a <code>sizes</code> attribute. Omitting the <code>sizes</code> attribute will render the markup technically invalid, while still falling back to a default size of <code>100vh</code>.</p>
<h3>What About Features X, Y And Z?</h3>
<p>While much more can be done with responsive images, you’ve probably noticed a few use cases that this plugin doesn’t cover. The first thing that we’re usually asked about is a feature for art direction. Art direction refers to loading differently styled images at different breakpoints &mdash; whether that means entirely new images or the same image cropped or focused differently. This feature would require use of the <code>picture</code> element, which in turn would mean a lot more markup to generate the final image.</p>
<p>Adding this feature to WordPress would be impossible without the addition of a fairly complicated interface in WordPress’ media uploader, because the user would need to be able to define all breakpoints and then select images to be loaded in when those breakpoints are reached. Our goal for this plugin is to <strong>allow for a basic implementation of responsive images</strong>, with absolutely no configuration needed by the user. So, we’ve decided to omit this feature. We will, however, do our best to allow art direction to work side by side with our plugin as we expand the API for theme developers.</p>
<p>Lazy-loading and image compression are two other features that we have no plans to implement, simply because they fall beyond the scope of a more or less “default” solution for responsive images. Again, we aim to make the addition of these features possible for theme developers who use our plugin via a feature-rich API.</p>
<h3>What’s Next?</h3>
<p>While the plugin is available for everyone to download and install, we’re actively working to make it better. So, users can expect frequent updates, resolved issues and an all-around better functioning plugin as time goes on. We’re planning to add more features, such as the <code>sizes</code> attribute and hooks that allow theme developers to further customize the plugin.</p>
<p>Another feature we have yet to consider is ratio descriptors like <code>2x</code> and <code>3x</code> for “Retina” use cases. Better documentation and support are coming soon as well. Eventually, we’d like to see this plugin become a part of WordPress’ core, which means that it will stay minimalist, admin-less and easy to use.</p>
<p><em property="editor">(il, al, ml)</em></p>
<h4 class="po">Footnotes</h4><ol class="po"><li id="#1"><a href="#note-1">1 https://wordpress.org/plugins/ricg-responsive-images/</a></li><li id="#2"><a href="#note-2">2 https://github.com/ResponsiveImagesCG/wp-tevko-responsive-images</a></li><li id="#3"><a href="#note-3">3 http://scottjehl.github.io/picturefill/</a></li><li id="#4"><a href="#note-4">4 http://www.smashingmagazine.com/2013/08/21/webkit-implements-srcset-and-why-its-a-good-thing/</a></li><li id="#5"><a href="#note-5">5 http://alistapart.com/article/responsive-images-in-practice#section4</a></li><li id="#6"><a href="#note-6">6 http://css-tricks.com/responsive-images-youre-just-changing-resolutions-use-srcset/</a></li><li id="#7"><a href="#note-7">7 http://codex.wordpress.org/Javascript_Reference/wp.media</a></li><li id="#8"><a href="#note-8">8 http://underscorejs.org/</a></li><li id="#9"><a href="#note-9">9 https://github.com/ResponsiveImagesCG/wp-tevko-responsive-images/blob/master/js/wp-tevko-responsive-images.js</a></li><li id="#10"><a href="#note-10">10 http://ericportis.com/posts/2014/srcset-sizes/#part-2</a></li><li id="#11"><a href="#note-11">11 https://github.com/aFarkas/wp-lazysizes</a></li></ol><p>The post <a rel="nofollow" href="http://www.smashingmagazine.com/2015/02/24/ricg-responsive-images-for-wordpress/">RICG Responsive Images For WordPress</a> appeared first on <a rel="nofollow" href="http://www.smashingmagazine.com">Smashing Magazine</a>.</p>
http://www.smashingmagazine.com/2015/02/24/ricg-responsive-images-for-wordpress/text/html2015-01-07T14:23:01+01:00http://abetterplanetwp.comA Better PlanetUniversal Typography with Tim Brownhttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/09XT6VY_A8E/
Ahttp://build.codepoet.com/2015/01/07/universal-typography-tim-brown/text/htmlhttp://abetterplanetwp.comA Better PlanetAndrew Nacin has joined the White House's U.S. Digital Servicehttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/sVh8zLazjzQ/andrew-nacin-has-joined-the-white-house-s-u-s-digital-service
https://managewp.org/articles/9457/andrew-nacin-has-joined-the-white-house-s-u-s-digital-servicetext/htmlhttp://abetterplanetwp.comA Better PlanetUsing HHVM With WordPresshttp://feedproxy.google.com/~r/ABetterPlanet-WordpressNews/~3/vu7PY4S5lwo/using-hhvm-with-wordpress--cms-21596
http://code.tutsplus.com/articles/using-hhvm-with-wordpress--cms-21596