you're reading:
[Off topic]

Positions absolute, relative, stable(d), unstable(d) and others

I’d like to reproduce here a dialogue that took place in a forum thread some weeks ago. I believe it offers a glimpse into how WordPress occasionally looks at users, and I’d like your opinions on it. Yellow color in the quotes is WP, blue is obnoxious me.

In that thread, a user asked if she could hide the blog title and move the top nav menu tabs below the header image without having to pay for the Custom Design upgrade ($30 per year). A reasonable question, in my opinion, as the price is too high if you only wish to make one change.

She was told it’s not possible without the upgrade. But that’s not true. What she was looking for is perfectly possible (though rather complicated) via inline CSS in a text widget. The basis for such coding is the position property: when you write a code using “position:absolute”, you may be able to place an element where you want it to be instead of where the widget is. So I worked out the code and gave it to this fellow blogger. She thanked me, telling me it worked like a charm.

I’ve given similar workarounds many times, both in the forum and here, and its been very long since the last ‘official’ objection. This time a staff member posted the following response:

Coding html and css into a text widget is not really an ideal way to make an update like this because it relies on hard coded links instead of the built in function for generating navigation in the theme or using custom menus and it also is not supported if possible future changes are made to that could affect code like that.

I’m always a bit surprised when I see such staff responses: I’m not a newcomer in the forums, and staff have seen that I know a thing or two (and tend not to shut up easily), so they also know I’m not likely to swallow poor replies. Naturally I understood why the intervention was made (and you can guess why as well), but I preferred to be discreet and focused on the second part of the reply only:

You make changes all the time, and when this happens we adapt our answers accordingly. At the moment my suggestion works, doesn’t it? Avoiding to use something that works now because it might no longer work “if possible future changes are made” is not a plausible argument. (Would you find it reasonable if I started telling users not to use, say, the current gallery shortcode options, or the current audio player shortcode options, or the current image options, or whatever, because things might, possibly, be different in future versions of WP?)

To my astonishment, staff proved to be, er, less discreet than I was:

Let me try to respond in another way. The solution you posted basically circumvents the paid upgrade for custom design. provides free hosting but we ask for optional payments for some features. Similar to asking you not to remove the footer credits, we ask that you not circumvent paid upgrades like that.

So I said:

In my previous response I tried to be polite and avoided spelling out what your reply was and what the real reason behind it is. I’m dumbstruck you did it yourself.

Check my front page please: [*]
You really expect me not to do any of this because you would like me to pay for it while it’s possible for free? I’m afraid this is like me driving my bike in a small country road and suddenly seeing you in the middle of the road asking me not to use that road or tell other drivers about it because you operate a pay-toll highway nearby. Well, we’ll use your highway if and when we need the advantages it offers, not just because you want to collect toll and you hate it that there’s also a passable toll-free road leading to a couple of the thousand destinations the highway does.

Compared to the C[ustom] D[esign] upgrade, there’s very little you can do with the position property. [**] But anyway it’s a perfectly legitimate (and by no means secret) piece of CSS, so I’m not to blame if it can occasionally deprive you of a few extra bucks. If you ask me not to use it, then what next? When, for example, I give inline CSS solutions to users who cannot fathom why their tables are a mess in some of the newer themes, will you tell me not to because the table CSS can be corrected if you buy the CD upgrade? Or if in a future upgrade you add a table tool, will you then ask me to stop using or suggesting table coding? You can’t be serious!

“Similar to asking you not to remove the footer credits”? The one is a reasonable request, based on the ethics of giving due credit, while the other is an absurd request, based on greed and involving dishonesty: so, sorry, I don’t see any similarity between the two and I don’t see why I should comply with the second one.


[*] Compare with the original appearance of the theme.
[**] In addition to that, it works well in some themes only, which is all the more reason not to make such a fuss about it.

I’m sorry you feel that way. Asking someone to pay for a service a company has setup instead of trying to get it for free is not dishonest in any way. Please don’t feel distressed, and please try not to deliberately go around the paid upgrades.

Asking someone to pay for a service when the same result is possible for free is not dishonest in any way? Really? (And who should feel “distressed”, me for replying to false arguments or her for what she bluntly admitted, contradicting herself?)

In connection with this, I should also note that when users ask about audio, staff may take care to underline that to upload audio files to your blog, you need the Space upgrade. This is absolutely correct, but it’s misleading when you don’t speak the jargon: it has fooled many beginners into buying that upgrade, just because they cannot tell the difference between uploading and inserting, and they don’t know that you can do the latter without paying for the former (by uploading your audio files to a free hosting site instead of WP). [See Update at the end of the post as well.]

But anyway when I wrote about dishonesty it wasn’t WP I had in mind (theirs was the greed only):

Sorry, my bad phrasing led to a misunderstanding: the “dishonest” bit referred to me, not to you. If you ask me not to reveal a technique I’m familiar with, you ask me to deliberately deceive fellow users. That’s what I meant by dishonest. If you check the comments in my blog, you’ll see many replies of the sort “sorry, not possible unless you buy the Custom Design upgrade”. But in the few cases when something is possible without the upgrade, I’m not prepared to start lying for your sake. (Unless you want me to turn my replies in those cases to “well, actually it’s possible but WP doesn’t want me to tell you so you’ll be forced to pay for something you don’t have to” and we’ll all have some fun.)

I think my readers will enjoy a post about this…


The next reply came from Matt, the very founder of WP:

It’s not that your fixes aren’t correct, just that the style loophole will be closed at some point because it’s a bug, not a feature, and is mostly used by spammers.

Unfortunately, contradictions give me an irresistible itch:

So, so far we’ve got:
Version 1 – My workaround is not good because it relies on hard coded links and because it may not work if future changes are made.
Version 2 – No it’s not that, it’s that it circumvents the need to buy the CD upgrade.
Version 3 – No it’s not that, it’s that it’s a bug although it’s a correct fix.

I wonder, are you happy with the impression you’re giving?

As for “loophole that will be closed”, let me remind you that you had promised the same thing long ago. When we asked why, Alex [*] told us “because bad guys use it to do bad things“. But you yourself had clarified that it “will continue to work if you have the CSS upgrade, will get stripped if you don’t“. So apparently bad guys (spammers?) are no longer bad guys if they pay for the upgrade. So I find it very hard to believe that Version 3 is closer to the truth than Version 2.

PS I’d really like to see what devblog [**] would have to say on (a) hard coded links = bad and (b) position property = bug.


[*] Senior staff member.
[**] Our number one CSS expert forum volunteer.

Note that they hadn’t only promised they’d “close the loophole”, they even announced they did. But that was a false announcement: the purportedly malicious piece of code never stopped working. I don’t know if they tried to implement a filter and failed, or if they didn’t even try and only told us they did, hoping we would believe it.

Anyway (back to the dialogue), Matt didn’t reply. (Pity – I could have used some enlightenment on what the word bug means, as my dictionaries seem to be wrong and Matt certainly knows better…) Instead, the original staff member came back:

Hard coded links are fine in general. However, making hard links in place of existing menus is not a best practice because it takes away the ability to use the built in theme option or custom menu option to edit menus. It causes confusion for people in the same way that copying original CSS does when it breaks the built in header image option.

As I already explained, contradictions make me itchy:

Ah, Version 4 – my workaround is not a correct fix, because it disables the auto custom menu function. Keep going!

Instead of asking me not to suggest the workaround (which was the correct answer to the OP’s exact question, and does not exclude adding more tabs), why don’t you ask the OP what they prefer: repositioned tabs and no auto custom menu for free, or repositioned tabs plus auto custom menu for an annual $30?


You see, as I said at the beginning, to me it should depend on what and how much you want to do. The user whose question started all this just wanted to reposition her top nav tabs. If someone told me they wanted to do this, plus change some fonts, plus change the colors of the links and the titles, etc., then of course I would tell them about the upgrade and wouldn’t even bother to mention that one of these things is possible without the upgrade. But when someone wants nothing more than, say, get rid of the dash before the blog title in Blogum, then of course I won’t suggest the paid upgrade (as another staff member has actually done) if there’s a free workaround.

A couple of months ago, while we were discussing a different matter, the same staff member that engaged in the above dialogue had given me a reply with which I wholeheartedly agree:

The forums are a community effort. It includes staff and volunteers. Regardless of who is answering […], the end goal is helping people with their blogs. […] We should focus on that kind of excellence and positivity.

(Emphasis mine.) Question: does trying to convince users to buy something they don’t really need, and trying to persuade an experienced forum volunteer not to show them an existing free alternative, fall under that end goal?

Update Nov. 2011: In a recent forum thread, a user was confused thanks to the misleading note in the description of the Dusk to Dawn theme page (near the bottom, under “Post Formats”). After we set things straight, she gave the following response:

I think that WP should clarify what they tell us users. What they lose in revenue from the upgrades they gain in our trust and continued loyalty to this platform and revenue from other areas.



12 thoughts on “Positions absolute, relative, stable(d), unstable(d) and others

  1. Thanks. That was enlightening. I’m going to try and use the position absolute to hide the horrible orange rss feed icon permanently plopped in the top right corner of the Paperpunch theme. It’s not worth $30/year to hide that eyesore.

    Posted by Leslie | October 17, 2011, 22:29
  2. As I was reading this I kept thinking of the ditty that goes ‘It doesn’t matter whether you are right or wrong, might makes right and you are wrong, right?

    To which the response is ‘Wrong!’

    Glad you keep them on their toes.

    Is there way to move the ads off-stage?

    Posted by David | October 17, 2011, 23:11
  3. I love it when you are opinionated: a curmudgeon making sense out of nonsense.
    (even if your right margin is not justified)

    Seems that some of the newer themes deliberately force a blogger to adhere to the controlling CSS for such things as borders around pictures (my blog using Chateau, which I don’t know how to change—the shadow is an image not a border, right?), or the automatic spacing of side-by-side images in posts and especially annoying in tables (my blog using zBench, which I have figured out?).

    Posted by Tess | October 18, 2011, 06:35
  4. @Leslie: You’re welcome, but (as I’m saying in the post) this technique works in some themes only, and unfortunately Paperpunch isn’t one of them. Besides, with the textured background you’ve added, it wouldn’t work in any theme.

    @David: Right! And because I’m a curmudgeon, as Tess says, the more one flaunts his “might makes right”, the more it tempts me to give the response…

    You mean the ads WP places in our blogs? Only if you pay for the No Ads upgrade!

    @Tess: Thanks for the compliments (and the pun with the margin)!

    You can override many things in those quirky themes, but the pain is that often you cannot immediately tell what it is you must override, so you have to examine the CSS to find the right solution.

    No, the shadows in Chateau aren’t an image, they are CSS, so you can get rid of them if you wish. But it’s a new thing, not standardized yet, so you need a browser-specific array (just like with rounded borders):
    img style=”-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;”

    Posted by Panos | October 18, 2011, 11:45
  5. Yes, I meant the ads that WP puts on the blogs. I only recently started seeing them. I know they have been around ‘in principle’ for a long time, but I have only recently started to see them.

    I spent time setting up the header and the color scheme on my blog, only to find a violently-colored ‘Zumo, the tacky cartoon frog’ ad on it.

    I gave feedback to WP telling them that I accepted that ads could be placed, but why cheapen everyone’s efforts with tacky ads.

    Posted by David | October 18, 2011, 12:04
  6. Yes they’ve been around for a long time. Normally only users and logged-out users see them. They’re Google ads, so WP has no direct control over what will show up.

    Posted by Panos | October 19, 2011, 02:17
  7. Before I finished reading this post and try to understand it, I’d love to thank.
    This is one of the things I’ve been waiting for.
    You are very helpful …

    Posted by Om Kicau | October 19, 2011, 04:00
  8. For example it will not let me do the title like this: “Have you ever wondered why it rains?” by Carl D’Agostino. It automatically “corrects” to this : “Have You Ever Wondered Why It Rains?” By Carl D’Agostino. Automatic caps and no extra spacing. Thanks.

    Posted by Carl D'Agostino | October 19, 2011, 14:45
  9. Panos,

    Yes, I suppose I should look at CSS, but it’s scary (just like html was scary when I started).
    (And thanks for the information about the Chateau shadows.)

    My point was that the newer themes have lots of control of the theme design that not everyone wants. If one wants to change one or two things to override the underlying design, then I see nothing wrong with doing so if it is possible. Especially when the theme design itself is quirky.

    Table coding for example should not be messed with! But that’s the way some themes are designed.
    The table coding issue in particular is questionable. WordPress does not include tables in the visual editor, so people who use them presumably know a little html or use an online table generator or LiveWriter which all use standard html to write the tables. But then comes the theme specific CSS that overrides the simple basic accepted standard codes for tables: forced borders, backgrounds, spacing… which make it more complicated to write tables.

    On the other hand the new themes (and revisions of older themes) certainly do allow for lots more “personalization” with custom menus and backgrounds. A good thing. And something that fewer people will want to make work around changes with.

    I’m on a bit of a rant!

    I don’t think I’ll do anything about the Chateau shadows: that would be something to add for each picture and foolishly I’m still hoping to encourage my coworkers to make posts on the work blog. They are not much writers, and certainly not interested in html so things should be as simple as possible.

    Posted by Tess | October 19, 2011, 16:04
  10. @Om Kicau: You’re welcome, but could you be clearer re what exactly “you’ve been waiting for”?

    @Carl: You can change things like that inside a post, but not in post titles etc. (not without the Custom Design upgrade, that is). The theme designer has to decide how all these elements will look – that’s what a theme means. Up to a point this makes sense to me: most bloggers are concerned with blogging, not designing.

    @Tess: that’s exactly what I had in mind when I told ds about giving “inline CSS solutions to users who cannot fathom why their tables are a mess in some of the newer themes” (second blue quote in the post). A few days ago I offered to help tt correct her table examples here (while she was using 2011):
    Most of the commands I had to add were: no please don’t stretch the table to fill the whole main column, no please don’t add a bottom border to the table, no please don’t make the left cellpadding different than the right one etc. There was so much such stuff involved (to turn the thing back into what should have been a plain table with no extras) that eventually tt dropped the theme instead of adopting my coding.

    Posted by Panos | October 20, 2011, 00:20
  11. Sorry, I just saw your response to my comment.
    I always been wondering, if my blog (which puts a lot of text widgets with absolute position on the front page), something bad or violating “TOS” or not.
    Your post explains that the things I did was okay.

    Posted by Om Kicau | November 21, 2011, 17:57
  12. Oh, I see. No you’re not violating the TOS, you’re only violating Matt’s insatiable urge to gain more…

    Posted by Panos | November 21, 2011, 21:45


author's avatar panos (justpi)

 Subject Index

Announcement 22/03/2012: After WP's latest move, this blog will no longer offer active support and assistance. The blog will remain online but commenting on older posts has been disabled.
✶ All theme-related posts are updated up to and including theme 189 in this list, but will not continue to be updated.


  • Views per month:
Safari Icon Firefox - Never Internet Explorer
Note: if you see ads on this site, they are placed by WordPress, not me.
Mostly on themes, formatting, coding, tweaks and workarounds.
Based on or springing from my contributing in the forum.
Theme-related posts constantly updated
Premium themes and Annotum not included
%d bloggers like this: