Welcome to ManageWP.org

Register to share, discuss and vote for the best WordPress stories every day, find new ideas and inspiration for your business and network with other members of the WordPress community. Join the #1 WordPress news community!

×

4 min read David Bisset
Editorials | rarst.net | Jul. 18, 2016

WordPress Crusade Against Technical Responsibility

There are two (or more) sides to the PHP version arguement and Rarst presents his case.

WordPress Crusade Against Technical Responsibility

Editorials | rarst.net | Jul. 18, 2016

Some time ago I had read Milestones: The Story of WordPress book by Siobhan McKeown. It is a charming and detailed tale of WordPress history. But more than historical detail I had enjoyed a theme of cultural fit and its importance. It is often hard to distinguish what WordPress cultural values are precisely. We are different, we argue, we disagree, but there is some foundation of principles that did shape it as a project.
Democratize publishing.
What does that vague call stands for?
They don’t have to know
It is often stressed in WordPress circles that plugins and themes should be compatible to obsolete 5.2 version of PHP programming language.
Why?
Because otherwise you will break people’s sites.
Why?
Because people still run their sites on PHP 5.2.
Why?
Because they don’t know they should update.
Why?
Because we won’t tell them.
Why?
Because they don’t have to know.
Wait, what?
It took me a long time to grasp that “they don’t have to know” is one of the most important and least obvious WordPress principles.
I don’t agree with that.
Internet of quantity
WordPress goes to great lengths to make it easy for people to create sites. I

Community | rarst.net | Dec. 27, 2016

Does WordPress power 27% of the internet?

An interesting take on a statistic a lot of us take for granted.

Does WordPress power 27% of the internet?

Community | rarst.net | Dec. 27, 2016

WordPress powers 27% of the internet. Every year people repeat the claim of WordPress to an increasing share of the internet. The number is so large that other people naturally question it.
So… Does it?
By top sites sample
The 27% number and its previous incarnations come from W3Techs WordPress market share report:
WordPress is used by 58.5% of all the websites whose content management system we know. This is 27.3% of all websites.
w3techs.com/technologies/details/cm-wordpress/all/all
There are several notable things about it in relevance to the claim:
Report surveys top 10 million sites by traffic (provided by Alexa), which they consider representative of the entire web.
Rather than “powers” it words it as “used by” for which it considers if WordPress is detected on any page of the site.
So the claim seems to hold (if exaggerated — “powered” is a stronger word) and number is consistent.
By large sample
Still, 10 million is a rather small subset of the internet. Internet live stats estimate total number of sites to be above one billion in 2016. Alexa 10 million sample makes less than 1% of it. Selected by traffic, not meant to be representative

4 min read David Bisset
Development | rarst.net | Jan. 16, 2017

WordPress APIs Developer Satisfaction Survey Results

Andrey publishes results of a WordPress API survey from developers: their development experience with WordPress and how would they rate WordPress APIs.

WordPress APIs Developer Satisfaction Survey Results

Development | rarst.net | Jan. 16, 2017

When you spend a lot of time with it you get a distinct feel about WordPress developer experience. Some parts get job done and other are synonymous with trouble. Yet there is rarely organized conversation about this. Which WordPress APIs perform well and why? How do we get more to that point?
I had run WordPress APIs Developer Satisfaction survey to get some measured insights.
Responses
Survey asked two questions of participants:
Their development experience with WordPress — on the scale from 1–Novice to 5–Expert.
How would they rate WordPress APIs on the list of 30 — with possible ratings of: Horrible, Bad, Normal, Good, Excellent.
The results are summarized in following chart.
You can see raw responses and processed results as a spreadsheet. Thank you to everyone who participated!
Survey attracted responses from experienced developers. 62.7% rated their WordPress experience level 5/5 and 31.3% — 4/5.
The distribution of API ratings was:
40.3% positive (Good or Excellent)
33.1% Normal
26.6% negative (Bad or Horrible)
Familiarity
Most familiar
Admin Menus, Ajax (100%)
Admin Pages, Custom Post Types, Query (97%)
Custom Taxonomies, Database, Plugin (hooks),

Tutorials | rarst.net | Dec. 29, 2014

Asymmetrical WordPress loops

A while back, I had a question about the loop that I should've known, but like Rarst describes, I forgot the common sense answer. This is a good thing to remember about the default loop, which we probably all use nearly every day.

Asymmetrical WordPress loops

Tutorials | rarst.net | Dec. 29, 2014

While back Brian Krogsgard had tweeted a variation of quite common question. How to best handle WordPress loop, when you need to output posts differently or otherwise split it? If I have one template, and the default loop, but need to separate the output based on count… is rewind_posts the best option?
His idea wasn’t wrong, but indicative as typical jump to more complicated solution than it needs be. Loops are used so much they are treated as ritualistic monolithic snippet of code. Which they are actually not.
What is loop looping?
So if there was a championship in WordPress copy/paste the loop would probably take the first place confidently. This is how it usually looks and it doesn’t serve understanding well.
while ( have_posts() ) : the_post();

// 10 posts

endwhile;
Let’s adjust it a bit. It becomes more clear what is the block and what is inside the block.
while ( have_posts() ) {
the_post();

// 10 posts
}
So while we have posts we do… Something? What is that something. Let’s write it out. It doesn’t look precisely like that in source, I am paraphrasing what happens.
while ( have_posts() ) {
$post = $wp_query->next_post();
$wp_query->setup_postdata( $post

5 min read Jonathan Wold
Development | rarst.net | Oct. 30, 2015

Three ages of WordPress code

Rarst organizes his progression as a WordPress developer into three "ages". He concludes with strong thoughts on the ecosystem impact of this "ages" concept and offers ideas about what's next.

Three ages of WordPress code

Development | rarst.net | Oct. 30, 2015

I begun to think about my progression with WordPress development as couple of major hops. It is not something I felt as it happened, but retrospective brought some clarity to it. So what where the hops between? I came to define it as ages of WordPress code, both for timeline and progress aspects.
After some pondering I had come up with three.
Procedural age
Procedural (consisting of functions) code is old and fundamental layer of WordPress core. Commitment to backwards compatibility had kept it in focus and growing for many years.
It influenced WordPress extensibility with hooks system and theme development with Template Tags API.
I credit Template Tags API with much of WordPress success. It offers low learning curve and makes it trivial to start tinkering.
But procedural code encourages mere memorization and code reuse over actual development. It had spawned thousands of functions and endless plague of code snippets.
Procedural breakdown
Pro
easy to get started with
gets things done
Con
verbose
hard to document
technically shallow
Faux OOP age
Once you dig a little deeper there is a layer of class/object code in WordPress too. The nuance is — it is far from what would actually be considered

Pro | rarst.net | Dec. 21, 2015

What makes a developer

Ability and the will to hack pretty much defines a developer in my book, but of course there are variations.

What makes a developer

Pro | rarst.net | Dec. 21, 2015

It comes up now and then — the topic of developers and those who are not. Mario Peshev had written about calling yourself a developer and the impact it has. Every time there is a certain amount of backlash from people who feel they are denied the label unjustly. What makes a developer? What makes them not a one? Growing into a developer
Much of the issue comes down to not knowing what you don’t know.
By now I had wrote programming code for over two decades. I had solved problems with it, released it as open source, got paid for it.
Yet most of these years I had resisted when I was called a programmer or developer. Despite possessing of the aspects I had felt a certain void to be further filled.
As code became more centric to my occupation I read more of it and spend more time writing it. Not more time to write more code, but more time to write less.
That pushed me to make some qualitative jumps in how I do it. And then reflect on them and how it pushed me to (finally) grow into a developer role.
Towards complex thought
Programming is explaining computers what to do.
The textbook definition. It is as complete as saying that flying to space is achieving escape velocity. Quite a few details

Plugins | rarst.net | Oct. 28, 2014

Leaving WordPress plugin repository

Rarst (Andrey Savchenko) explains why he is moving his plugins away from the official wordpress plugin website.

Leaving WordPress plugin repository

Plugins | rarst.net | Oct. 28, 2014

I have been saying for a while (considerably long while) that I had decided to remove my plugins from official WordPress plugin repository. As things go — the more you talk about intentions the less action happens. So I had mostly shut up about it for a while longer, until it was all too obvious that now is as good time as any.
Since I plan to blog more about WordPress things — the perfect opportunity to explain my reasons in a post it is.
Technicalities
The repository
It is ironic how we spell out “official” plugin repository, because WordPress never intended to have any other repositories.
Its core code is written in line with that assumption, interacting only with WordPress.org API. Notably API with infrastructure (code and logic both) that is private and undisclosed to public.
While implementing alternate repositories is technically possible, it is not supported (or even reasonably conventionalized) and such implementations are disallowed to be hosted in official one for distribution.
Development
WordPress uses Subversion (SVN) version control as storage and interface for plugins’ code. While SVN is usable it is hardly pleasant or popular for modern development, lacking in newer

9 min read Jean-Baptiste
Community | rarst.net | Nov. 17, 2014

WordPress development in PhpStorm

A good summary about using the IDE PhpStrom for your WordPress development

WordPress development in PhpStorm

Community | rarst.net | Nov. 17, 2014

I had been using PhpStorm for years now and recommend it a lot for WordPress development. Simply put WordPress code base is significantly large and very convoluted. Good IDE is not just beneficial for it — it is indispensable. PhpStorm had steadily got more and more functionality, related to specific web development projects and standards. After years of hopes, whining to product manager on twitter (hi, Mikhail!), filing issues on bug tracker, and some consulting — version 8 had shipped with dedicated support for WordPress.
This post is by no means exhaustive guide to development in PhpStorm, but it summarizes much of my experience and techniques using it for WordPress projects.
Getting around
The first rule of PhpStorm — take food when going into settings. It is kind of software that can be freely molded by user over time and usually is.
There are two main things which help to manage complexity of configuration and usage both: search and hotkeys.
Search
The widest and easiest search to start with is Search Everywhere — Double Shift hotkey. It is easy to remember and includes most of searchable elements (from PhpStorm’s own settings to code in a project). The one notable omission is

9 min read Tom Harrigan
Themes | rarst.net | Sep. 9, 2014

The making of Trident theme

A deep look into the decisions and considerations of creating a theme. The "why's" of choices made, from typography to Twig.

The making of Trident theme

Themes | rarst.net | Sep. 9, 2014

Behind the curtains tinkerings on the technical side of this blog are like waves — steadily coming and going every couple years. While actual blogging settled into a comfortable slumping break for a while, the work on a new generation of theme to dress it had marched on since about 2011. Last evening I had switched from old ReStatement theme to the new Trident one, signifying both flip of an era and making a step out of slump.
Reflection on dead ends
ReStatement had suffered from being result of the goals achieved. It was the massive learning project and moving on from tinkering on existing theme to the true from–scratch development.
As I explored and implemented how to make WordPress themes in general it colored the results in general colors. ReStatement ended up:
heavily columnized with three columns, two of them underused
depending on elaborate menu for navigation
heavily widgetized, with some pages being completely widget–driven
The were all the features that would have been completely at home in generic WordPress theme, meant for distribution. Alas they served less than well for what I now call “site theme”.
When identity of the theme and of the site are one and the same — it is

Community | rarst.net | Oct. 19, 2016

Pondering WordCamp speaking

One really striking point about a common WordCamp failing: "It was strange to fill out staple post–event polls with whole pages dedicated to talks, and having never once get a tiny bit of that information about my own talks provided."

Pondering WordCamp speaking

Community | rarst.net | Oct. 19, 2016

Upcoming WordCamp London became the first one to break my speaking streak and reject my talk application. I took a bit of time to be miffed and mopey about that (I don’t handle rejection well, ok!? :), but really it was a timely reminder to review the WordCamp speaking as activity for me.
New activity
I had never quite planned to pick up delivering WordCamp talks as activity. I just ended up urged to apply the very first time. My habitual inertia (and backlog of ideas) took over from there.
After several talks I was in a bit of a haze about it. I had no excess of excitement about it, but no particular disdain either.
I think the most disorienting was the missing feedback loop. I don’t like to stick witch activities I have no affinity for. It was getting hard to have no sense of scale how my speaking is working out (or not so much).
It was strange to fill out staple post–event polls with whole pages dedicated to talks, and having never once get a tiny bit of that information about my own talks provided.
Cost to benefit
Last year the conversation about paying speakers and/or compensating their expenses had briefly flared in WordPress context. Turned out it wasn’t