WordCamp Berlin 2017 – How was it?

Some of you might say „what, yet another WordCamp review?“, but no, this one will be different. And the reason is quite simple. For WordCamp Berlin 2017, I was the lead organizer so I had almost no time to see any sessions. So you have to read all the other reviews out there, if you want to know, how the talks have been.

WPAdminDay

But before I write some words about the WordCamp, let’s start two days earlier. Stefan Kremer organized for dev ops how maintain WordPress websites for their clients. As I am the administrator for the WordPress websites in the agency I am working for, this day gave me lots of new insights on how to optimize workflows and get a better overview on tasks to be done.

Marc Nilius showed his daily workflow when updating WordPress installations using InifiteWP, a software I really want to look into in the next weeks. He also wrote a custom script, which parses the email about changed files and how he uses this system to detect potentially hacked site.

Weiterlesen →

Home page with a grid layout using flexbox

A friend asked me on how to show the home page with the latest blog posts as a grid instead of a list. I though a bit about how I would solve it and as I haven’t used CSS Flexbox a lot in the past, I wanted to try this out. So, on the train back to Berlin, I tinkered a bit and came up with a small solution.

Turing TwentyFifteen’s home page into a grid

I needed a theme to experiment with and again I’ve chosen TwentyFifteen, as if has enough pace to have a grid home page. So, how does the home page look like in the theme by default?

Weiterlesen →

Disable self pings on a multisite

On a project, the client wanted to disable any pingsbacks from it’s own site. I found a snippet for that and there is also a plugin with this snippet. But this will only work for the current page. What if you want to disable pingbacks from one site of a multisite to another?

The extended snippet

Everytime a post or page is posted or updated, WordPress will try to send a pingback to any URL in the content. To modify the list of links to ping, we can use the action pre_ping with a very simple callback function:

Weiterlesen →

WordCamp Torino – My second Italian WordCamp

I just got back from my second WordCamp this year and also the second in Italy: WordCamp Torino. At WordCamp London three weeks ago, I was pretty sure, that I would not attend this one. But only a week later, plans changed and I couldn’t resist 🙂

Friday: Contributor Day

With only buying my ticket two weeks before the event, the Contributor Day tickets were already gone. Thanks to the organizing team, they could find some more room for us, so I was able to attend. With the upcoming WordCamp Europe and my participation in the organizing team, I had some work to do on the new default WordCamp theme. I hope that I can present you the results soon. There was also a little workshop about VVV which was pretty useful, as I just set up the new environment for my work on the new theme.

Weiterlesen →

My third WordCamp London and the first time as a volunteer

Last weekend, around 600 people met to largest the anually WordCamp in a European city: WordCamp London 2017. This was the third year in a row I visited this event and it still is my most favorite WordCamp. I booked my ticket many weeks ago. But after the organizing needed some last minute volunteers around a month before the big event, I didn’t thought twice and applied as a volunteer.

My second WordCamp volunteering

I have visitied many WordCamps, spoken on a couple of them and co-organized 3 Camp so far in Berlin and am currently the lead organizer of the next WordCamp Berlin in May. But this was only the second time, I applied as a volunteer. Being a volunteer, you not only meet new people and get in touch with many more, than as a regular attendee. You also learn a lot as an organizer. There are many things every WordCamp has in common. But especially WordCamp London sets a good example on many details. The team around Jenny Wong did a great job. Just as in the years before.

Weiterlesen →

Implementing a datepicker fallback for HTML5 date input fields

In one of my advent calender post, I show you, how you can set a range for the date input type (not yet translated). In a comment, someone reminded me, that this new input type is not yet supported by Firefox. It might be available in future version (currently it can be enabled by setting a flag in Firefox 56+), but until then, we should implement a fallback.

Checking for browser support

I still like the native date input fields a lot better than the JavaScript based datepickers, especially on mobile devices. To check if a browser supports those new input fields, you can use a very simple check:

Weiterlesen →

Direct downloads with the „download“ attribute

You probably all know that situation. You have some files on your website and you want to enable your users to easily download these files. This task is pretty easy and you might wonder, why I am writing a blog post about this. Well, not every user knows how to do it easily and you might want to make it as easy as possible for those inexperienced users, to download the files.

The default behavior for links to files

So how do you usually link to files a user should be able to download? You probably just use a simple link like in this example:

<a href="http://example.com/image.jpg">Download image</a>

Weiterlesen →

Mark affiliate links in your content using CSS

As a German blogger, there are some things you should be aware of. One of them is the „Gesetz gegen den unlauteren Wettbewerb“ (law against unfair business practices). If you run a business and you think, that someone is taking advantage by not following some rules, you might be able to sue them. Even if you only have a „personal blog“, chances are very high, that it’s not totally „private“. Some bloggers don’t want to have advertisements on their blog, but they participate in some affiliate programs and „just“ place some links. But this is considered advertisement as well and must therefore be marked as such.

Disclaimer

As I am not a lawyer, the text of this blog post may not be completely legally founded. Therefore, this blog post will only give you a technical solution, which might not be enough legally. If you have any doubts, please consult a lawyer, you can verify your specific situation.

Weiterlesen →

  • Veröffentlicht in: Misc

Set a default message for the Jetpack Publicize module

Many of you probably share their new blog post on social media platform like Facebook, Google+, Twitter and others. I also do that, but I always post them manually with a nice custom message. But sometimes you need to have a more automated way to post to those platforms. Especially when you publish a lot of content and/or you are sharing on many platforms. Then you might want to use one of the many automatic sharing plugins around.

Social media postings with the Jetpack Publicize module

On a client’s website, we’ve used Jetpack for the sharing. Once you’ve activated the Publicize module and connected to some services, you will with a new setting in the „Publish“ metabox. Clicking the „Edit Details“ link, you will see a new textarea, where you can set the custom message to be used when shared. It looks like this:

Weiterlesen →

Redirect the main site of a WordPress multisite network

Before I start with my first „Project 52“ blog post, I want to apologize to all my English readers for not being version active. If you don’t know German, you didn’t have too much to read on my blog in the past. It was acutaly only one real post in the last 4 years (and three posts with slides from my WordCamp talks) only. But this is going to change now!

For those of you who can read German, you might have read my advent calendar in 2015, followed by #projekt52 (a blog post every week of the year) and another advent calendar in 2016. As I was very unhappy with the fact, that I haven’t blogged in English too much, I’ve made a decision: I will blog every two weeks in English and on every other week, I’ll translate this blog post into German, starting today!

A multisite with no main site

This week, I finished the migration of a large client project into a new multisite installation. This multisite had the goal to have one sub-site per customer of our client. Every multisite needs a main top level domain. For this example, let’s say the name of the domain was abc-customers.com. The multisite was set up to use subdomains, while working on the draft of a new customer sub-site. So, we would have something like somecustomer.abc-customers.com and anothercustomer.abc-customers.com. Once the sites where ready to go live, the sub-site were switched to a domain or subdomain (e.g. abc.somecustomer.com and anothercustomer-platform.com). I was using the core WordPress functionality to map those domains and no additional domain mapping plugin.

Weiterlesen →