25 posts categorized "WordPress"

Awesomeness! Jetpack 2.7 Lets WordPress Users Auto-Post Content To Google+

JetpackNow here is an awesome gift for the holidays! Any self-hosted WordPress users who use the JetPack plugin can now automatically publicize their posts out to a Google+ account... including to a Google+ page. This is all courtesy of the new Jetpack 2.7 release that happened yesterday.

For quite some time, users of Jetpack (and other similar WordPress plugins) have been able to auto-post out to Twitter and Facebook using the "Publicize" component of Jetpack, but posting to a Google+ page always required you to manually go to G+ to post the link. As a result, it was just yet-another-step that sometimes didn't happen. This was particularly true for scheduled posts that you might arrange to go out at particular times when staff were not available to post the link into Google+. (I've scheduled posts like this any number of times when I'm going to be spending a day traveling on planes.)

This changes with Jetpack 2.7 and puts Google+ on equal footing with other services. Now when you configure "Publicize" within Jetpack you see this screen (shown on my Monadnock Curling Club web site):

Publicize settings 2

You then are asked how you want to connect to Google+ for this WordPress site. You can either connect to your own G+ account or to any of the Google+ Pages for which you are a manager:

Google Accounts

You next must approve the permissions and indicate who you want to see your posts:

Gplus permissions 2

One final step is to approve whether you want all users of the blog to be able to publicize the post through this Google+ connection:

Sharing Settings Monadnock Curling Club WordPress 3

That's it!

Now all your future posts will be publicized through Google+! I'd note that you do have the option to control on a per-post basis what services your content is auto-posted to. When you are in a post you can see right in the "Publish" box an area for "Publicize" and by clicking on an "Edit" link you can have control over what services get the post automatically and what the message will be:

Add New Post Monadnock Curling Club WordPress

In a very nice feature I found that you can click "Add New" and go through the process again to connect additional Google+ pages or accounts. Here I've configured posts to this blog to go not only to the Monadnock Curling Club page but also to my personal Google+ account:

Sharing Settings Monadnock Curling Club WordPress 6

All in all a very cool addition to Jetpack! Well worth the upgrade to 2.7 (or the installation of Jetpack if you're not using it yet). Looking forward to now being able to more regularly get my content into Google+.


If you found this post interesting or useful, please consider either:



Releasing a New WordPress Theme Through Github

Deploy360 frontpageAs part of my work with the Internet Society on the Deploy360 Programme, I've wound up spending a good chunk of time learning the inner workings of WordPress due to the fact that WordPress powers our Deploy360 site. Given that the main Internet Society site uses Drupal, we wanted our site to look as close as possible to the main site. The Internet Society also has 100 local chapters scattered around the world who also maintain their own websites - and some of them use WordPress as well. The result is that I've spent a good bit of time working on a custom WordPress theme that is available through Github for chapters to use:
https://github.com/internetsociety/isoc-wp
It's been an interesting experience using Github for a WordPress theme. Given my love of the git version control system, Github was a fairly obvious choice for public collaboration, given that I'd been using Github for long before joining the Internet Society (ISOC) in 2011. Perhaps the single biggest advantage of using Github beyond the ease of collaboration has been the issue tracking. We can maintain a list of "issues", be they bugs, enhancements or otherwise, and collaboratively work through those issues. Github does a great job of tying in code commits to issues and lets you easily associate them with milestones. Today's experiment for me was to learn more about Github's "releases" feature and to make the theme available as a formal "release". I documented this in (of course!) an issue for the theme after Github removed the "Downloads" functionality very early this year. My main issue was that for ease of documentation and support I wanted people to install the theme into a folder called isoc-wp on their WordPress server. If they did so they would be able to use some of the examples in the documentation without any modification. The problem is that if you just download the code from Github using the standard download buttons, you get a ZIP file with a directory name with a version number on it, such as isoc-wp-v1.2.0 or isoc-wp-master. This does actually work perfectly fine when uploaded to a WordPress server... but the documentation examples don't work verbatim and need to be modified with the directory name. With the "Releases" functionality, what I can do is separately create a ZIP file that has isoc-wp as the directory name and then upload that ZIP file to Github as part of the release. I've documented my release packaging instructions in the Github wiki for the theme. All in all it's a rather nice way to maintain a WordPress theme and I'm pleased with how it is all working so far!
P.S. If any of you out there want to help work on this WordPress theme, perhaps as a way of learning more about themes - or about working with Github, you're welcome to join us on Github, even if you have no connection to the Internet Society or an ISOC chapter... best place to start may be to look at the list of open issues and see if there are any you can comment on or contribute to. (You'll need a Github account but those are free.)

If you found this post interesting or useful, please consider either:



Video: Matt Mullenweg's State of the Word 2013

If you are fan of WordPress... if you use WordPress or maintain a WordPress site... and haven't yet watched Matt Mullenweg's "State of the Word 2013" talk from WordCamp San Francisco in July, I'd strongly encourage you to sit down for a bit and watch:

It's a great view into where the WordPress ecosystem is today - and where it is going in the future. Incredible stats, such as 46 million downloads in just the past 12 months! 336 new themes added in the past 12 months. 6,758 plugins added in the last year... and so much more.

A huge number is that 18.9% of web sites on the Internet now run WordPress!

Intriguing info about WordPress as an app platform... and where it is all going...


If you found this post interesting or useful, please consider either:


WordPress 3.5 Nears Completion - First Release Candidate Now Available

WordpressLast week Andrew Nacin of the WordPress core team published an update titled "The short road To 3.5" that outlined exactly how close the team is to having a final release. The next day, in fact, the first "release candidate" of WordPress 3.5 was made available for download.

As noted in both posts, as well as the WordPress 3.5 schedule, the goal is to go through a couple more release candidates and then have the final release on December 5, 2012 - only 9 days away!

Whether or not the core team hits that goal will really depend upon how much testing they get (and they are looking for more people to test WP 3.5!) and what the status of the major issues are as the date draws closer.

For communicators/marketers, WordPress 3.5 continues the ongoing series of improvements to the WordPress "user experience" to make it even simpler and easier to use. I don't know that anything in 3.5 necessarily rises to the "MUST HAVE IT NOW!" category, but certainly the improvements look good. I am particularly interested in the rewritten media subsystem that will apparently allow for much simpler insertion and handling of images. One thing that has always bothered me about WordPress' media handling was the dialog boxes around setting a "Featured Image". From the tickets, this seems to be one of many improvements.

New WordPress Multisite Goodness

Another feature I'm looking forward to for new installations is the ability to set up WordPress Multisite in "subdirectory" mode versus "subdomain" mode. To date, Multisite has only worked when you used a subdomain as the base for all blogs. For instance, you might base the blog at:

blogs.example.com

and then your individual blogs would be:

blogs.example.com/blog1
blogs.example.com/blog2
blogs.example.com/blog3
...

This works fine (and is still in 3.5), but if you want to integrate your blogs into an existing web site, you weren't able to easily use Multisite. Now, with 3.5, you will be able to install WordPress Multisite into a subdomain, so that your base can be:

www.example.com/blogs/

and then your individual blogs can be:

www.example.com/blogs/blog1
www.example.com/blogs/blog2
www.example.com/blogs/blog3
...

This then allows you to continue using your main domain for SEO or branding purposes, but still have all the power of WordPress Multisite with regard to letting different groups have their own blogs with separate users, access control, etc. ... and all the other goodness you get from Multisite.

Now, this option can only be chosen when installing WordPress Multisite, so it doesn't help existing installations... but any new servers can be spun up in this mode if that works better.

The Normal Caveats Apply...

If you want to know more of the details of what will be in WordPress 3.5, the Beta 1 announcement had all sorts of good info. There's also a ticket with a rough list of changes in 3.5. All of that info should eventually make its way to the Codex page on WordPress 3.5 as the release date nears. There are some really good changes for developers that ought to improve WordPress performance and help in so many other ways.

You should, of course, not just drop WordPress 3.5 onto your production site, even after it has been fully released. There are changes to the underlying systems and so you should really test it with your theme(s) and plugins to make sure that they all work before you make it live. You also of course want to backup your system and make sure that you have the ability to restore if you need to do so.

WordPress also has a "WordPress Beta Tester" plugin for the more adventurous who want to run a site testing out the newest releases. Again, I wouldn't necessarily recommend this for production servers given that things will break during the normal course of development. Rather than use that plugin you can also just download the 3.5 release candidate and try it out.

I'm looking forward to seeing what this new release brings and to trying it out on my own systems. Kudos to the development team for their hard work and aggressive schedules!


If you found this post interesting or useful, please consider either:



WordPress 3.3.2 Out With Security Fixes - Upgrade Now!

Wordpress orgIf you are a user of WordPress, as I am for several of my sites, you really should update your site to WordPress 3.3.2. If you take a look at the Codex page for the release:
http://codex.wordpress.org/Version_3.3.2

You'll note that the release is pretty much all about security fixes to underlying libraries and other aspects of the software.

While yes, I'm a "security guy" who may care about these kind of things more than others, the reality is that I'm in the "content business" and I want my content always to be available. Having my site taken down by attackers is NOT a way to do that.

So I always upgrade WordPress - particularly when there are security issues involved.

The beautiful thing is that you should just be able to go into your site and click the "Update automatically" link to make it happen. Yes, backup your database first to be safe... but do go in and do the update.

Particularly because if the upgrade fixes "cross-site scripting attacks", you have to know that attackers are out there right now trying to exploit those attacks against sites that have NOT yet upgraded.

So don't be a target... upgrade!


If you found this post interesting or useful, please consider either:



WordPress Dominates Top 100 Blog/Media Sites

If you had any doubt about the outcome of the "platform wars" of the past few years for "blog"-type sites, one graphic can remove that doubt:

Wordpress top100blogs 201204

This comes from a just-released study from Pingdom and before you say "well, of course, this is all about blogs, so naturally WordPress would dominate"... please do scroll down the article and see the range of sites that Pingdom's study covers (the ones that are italicized use WordPress):

  • Huffington Post
  • Mashable
  • TechCrunch
  • Engadget
  • Gizmodo
  • Ars Technica
  • The Next Web
  • GigaOm
  • CNN Political Ticker
  • ReadWriteWeb

... and many more... the point is that what is classified as a "blog" for this study includes many of the "media" sites that many of us visit frequently - and many of those "media" sites turn out to be using WordPress.

The Pingdom article has many other great pieces of information, including this chart comparing the platforms of the Technorati Top 100 blogs in 2009 versus 2012:

Blog platforms

The outright (and not surprising) decline of some platforms like TypePad (on which this DisruptiveConversations site is still hosted) is very clear for all to see as well as the strong rise in WordPress usage.

The ecosystem around WordPress continues to expand at a phenomenal rate and studies like this are useful to measure that actual growth. What would be interesting to see, too, would be a study of "websites" in general, i.e. not just "blogs" but perhaps the Alexa Top 100 or some other set, to see what % of sites there use WordPress and these other platforms. As noted in the Pingdom article, the WordPress team has spent a great amount of time working on making the system more useful as a more generic content management system (CMS) and so the type of sites that are now using WordPress is expanding far beyond its roots in blogging. It will be interesting to see how that changes the web hosting dynamics over the next few years.

Thanks to Pingdom for undertaking the work - and I look forward to seeing what the field looks like in another three years!


If you found this post interesting or useful, please consider either:



How To Auto-Update WordPress Custom Themes Using Github

Have you wished that you could get an automatic update notification in WordPress for a custom theme that you have used? You know, like the "update automatically" notifications for "official" themes hosted on WordPress.org such as this one?

Themeautoupdate

Or perhaps you have created a custom theme and you would like to have a way for the users of your theme to receive notifications and updates whenever you update the theme? You can then fix up your theme, post a new version and... ta da... all your clients get the notification and can "update automatically" to the latest version?

UPDATE - 6 Apr 2015: The UCF "Theme Updater" plugin originally referenced in this article is no longer being maintained.  I would suggest using Andy Fragen's GitHub Updater plugin instead.  It uses the same syntax as the original UCF plugin.

If you've been looking to do this... and aren't afraid of (or enjoy!) working with the git version control system and Github, there's a very cool way to do all this that gives a very similar user experience:

Theme github

In fact, it winds up being a bit better than the normal WordPress theme auto-update process because after you do the update, you actually have the ability to roll back to previous versions of the custom theme if the new one causes problems:

Theme github rollback

This is something you can't do easily with the normal WordPress theme update process.


Initial Setup / Configuration

If you want to set this up for your own themes, here's the process...

1. Publish Your Theme To A Github Repository

You need an account (which is free) on Github, and you need to create a repository (a.k.a. a "repo") there for your theme. If you've never used git before, Github has some great help pages that explain the process. If you use a Mac, there is also a great Github for Mac app that makes the process super simple of updating your git repo locally and pushing the changes to Github.

The end result is that you need to have a git repo on your local computer that has your theme and that repo is synced up to a corresponding repo on Github.

I'll note that this process only works with public Github repositories, so your code does have to be open to the public. If you want to keep your code private so that only you and your clients see it, this process won't work for you. (Although see the notes at the bottom of the post.)

2. Modify Your Theme To Include a Github URI

The next step is to go into your style.css file in your theme and add one critical line containing a "Github Theme URI":

Theme Name: Example  
Theme URI: http://example.com/  
Github Theme URI: https://github.com/username/repo-name
Description: My Example Theme
Author: person
Version: v1.0.0

You can see an example in a demo theme I have. The URL you use is that of your repository up on Github. That's it.

Now you need to commit this change to your local repo and push the change up to Github.

3. Create a Tag in Your Repository

In your local repo, you need to "tag" the repo with a version number. THAT VERSION NUMBER NEEDS TO MATCH WHAT YOU HAVE IN STYLE.CSS for everything to work right. You then need to push this tag up to Github. Here are the command-line commands you need:

$ git tag v1.0.0
$ git push origin v1.0.0

Obviously with whatever version number you use.

4. Upload Your Theme To Your WordPress Site

Now your theme is all ready to be uploaded to your WordPress site. There are a couple of different ways you can do this, but one simple way is:

  1. Create a ZIP file of your theme on your local computer.
  2. Inside your WordPress admin menu (standalone) or network admin menu (MultiSite) go to the Install Themes panel and click on "Upload".
  3. Choose your ZIP file and press "Install Now".

You'll now have the theme installed in your WordPress site. You can now activate it and use the theme for your site.

5. Install the Theme GitHub Updater Plugin

UPDATE - 6 Apr 2015: Andy Fragen's GitHub Updater plugin can be installed using one of the different methods described under the "Installation" section of his "README" document.  I have found the simplest is to download the plugin zip file from his site and upload it manually to my WordPress site.

Unfortunately, you cannot simply add this GitHub Updater plugin directly from the standard WordPress.org plugin directory.   The plugin, as well as others such as the original UCF Theme Updater plugin, were removed from the main WordPress.org plugin repository as the operators of that repository felt it was not appropriate to include those plugins as they could be used to pull in code that was malicious or was otherwise not reviewed by the WP.org team.  You therefore have to use one of the other installation methods described.

Here's the part that makes the "update notifications" piece all work nicely. Some guys down at the University of Central Florida came up with this very cool plugin for WordPress called "Theme Updater" that is available here:

http://wordpress.org/extend/plugins/theme-updater/

You can either download it from that site or, much more simply, just go into the Plugins menu of WordPress, choose "Add New" and search for "Theme Updater".

(NOTE: The plugin does work with WordPress 3.3.1, so you can ignore the warning message about the plugin not being tested with your version. The meta-data for WordPress.org simply didn't get updated when the new version was recently posted. Given that I was doing some of the last testing, I can tell you that I did the testing on WordPress 3.3.1 on both a standalone and a MultiSite installation.)

Once you have installed the plugin, you simply activate it - or in WordPress MultiSite do a "Network Activate".

That's it. There is no configuration panel. No options. It just sits in the background and checks for updates of the Github-hosted theme.


That's all that is involved with the setup. Your installed theme is ready to be automatically updated. So, now you want to do the update...


Updating The Theme

When you have updates, the process is pretty straightforward.

1. Make And Commit Your Theme Updates

Edit your theme, make whatever changes, modifications, additions you need.

Commit your changes to your local git repo and push those changes to Github.

2. Update The Version Number in Style.css

In your style.css file, increment your version number, as in this example:

Theme Name: Example  
Theme URI: http://example.com/  
Github Theme URI: https://github.com/username/repo-name
Description: My Example Theme
Author: person
Version: v1.1.0

Commit the change locally and push the change to Github. (And yes, this could have simply been done as part of step #1.

3. Create a new tag and push the tag

Create a tag in git that matches the version number in step #2 and push that tag up to Github:

$ git tag v1.1.0
$ git push origin v1.1.0

That's it!

Now users of your custom theme will get a notification along the lines of this in WordPress MultiSite:

Theme github

or this in the "regular" standalone mode of WordPress:

Themeupdate standalone

and can simply "update automatically" to get the new version of the theme.


Other Notes

The "Theme Updater" plugin for WordPress is naturally hosted on Github:

https://github.com/UCF/Theme-Updater

You can see the source code there, download the latest, etc. If you are a Github user, you can "watch" the repo, fork it, clone it, etc.

If you find an issue with the plugin or have a feature request or suggestion, you can raise an issue (assuming you are logged in to your own Github account) in the Issues area.

I don't know but I get the sense that the UCF team made this plugin for their own usage and don't necessarily have grand plans for future versions (i.e. it works fine for them now). But if you want to add functionality yourself, like, oh, for instance adding in the ability to connect to private Github repos, you can certainly use the standard Github process of forking the repo, adding in code and then issuing a pull request to get your changes merged in. (And if that last sentence made absolutely no sense to you, don't worry about it and just have a nice day! ;-)

All in all I've found this to be a great process to let me publish a custom theme publicly and then auto-update multiple sites off of that custom theme. Kudos to the UCF team for creating this plugin and making it available!


If you found this post interesting or useful, please consider either:



Are You Following the WordPress Development Updates Site?

If you use WordPress for publishing content online and are interested in how the platform is evolving, do you follow the "WordPress Development Updates" blog found at:
http://wpdevel.wordpress.com/

It is the "official blog for the core development team" and is regularly updated with news of their meetings, activities and other projects. For instance, for those of us interested in WordPress Multisite (as I am), there was a recap of a recent meeting focused on ideas for improving Multisite. There was also a thread earlier in the month about adding images to plugin pages on WordPress.org, which explains why many of the pages have now added photos. And there was discussion of what would be in a "TwentyTwelve" default WordPress theme.

All good stuff to monitor for those of you heavily using WordPress. You can, of course, subscribe via RSS... and an email option is also provided.

Kudos to the core development team for keeping us all informed on what they are doing (or thinking about doing).

WordPressDevelopmentUpdates


If you found this post interesting or useful, please consider either:



New WordPress 3.3 Available With Much Simpler User Interface, Uploading

The folks over at Automattic announced last night that WordPress 3.3 is now out and, as per usual, provided a spiffy little video to highlight the new changes:

I've already updated one of my sites and am indeed impressed by the simpler and cleaner UI. Just as one very simple example, it was always annoying in earlier versions of WordPress that you had to click on the down arrow in the left navigation admin menu to get to the menu choices. The new fly-out menus are a whole lot easier! Similarly, the simplification of the upload process to a single button is a nice step.

There are a veritable TON of other changes and fixes for those interested in the gory details:

http://codex.wordpress.org/Version_3.3

All in all it looks like quite a solid release. I'm looking forward to seeing how it works on my other sites!

P.S. WordPress 3.3 is available for immediate download, although if you are running any recent version of WordPress you can simply "update" your site (after backing it up!) through the admin menus.


If you found this post interesting or useful, please consider either:



WordTwit Pro Gives You Excellent Controls for Auto-Tweeting of Posts

I've long been a fan of the WordTwit plugin from BraveNewCode and used it on both Voxeo's blogs as well as my own to auto-tweet out new blog posts. Given that I write 99% of my blog posts offline (using MarsEdit) and send them to the blog site for posting, the fact that I couldn't configure the resulting auto-tweet in WordTwit was never really a big deal to me. Some of my Voxeo colleagues who used the WordPress editor, though, really wanted to be able to modify the auto-tweet.

Primarily they wanted to add hashtags, although sometimes they wanted to change the tweet to be different from the title of the post.

The BraveNewCode folks came out with WordTwit Pro back in June and with my chaotic summer I'd never really taken a look at it... but now that I have I admit to being quite impressed! This video gives a great tour:

I admit that what I personally find most interesting is the ability to automatically schedule multiple tweets. I know from my own reading of my Twitter stream that there is no way I can even remotely keep up with the stream... and so I only see things that happen to come by at any given time. I've often thought about auto-tweeting a blog post... and then tweeting it again maybe 8 or 12 hours later when a different group of people may be monitoring Twitter. This plugin now helps automate that.

I haven't installed it yet on my own site... but I'm definitely thinking of doing so...