This is the {{ifempty}} template.

This template is used inside other templates. It takes up to nine parameters and returns the first one that has any content. That is, the first one that is defined (not null) and not empty. Typical usage is like this:

{{ifempty| {{{logo|}}} | {{{image|}}} | default.svg }}

The MediaWiki parameter default function doesn't return the default value for empty parameters. That is, {{{logo|default.svg}}} does not return "default.svg" if the template was called like this: {{template|logo=}}.

The usual workaround is to do like this:

{{#if:{{{logo|}}}| {{{logo}}} | default.svg }}

But this becomes complex when you want to check several parameters:

{{#if:{{{logo|}}}| {{{logo}}} | {{#if:{{{image|}}} | {{{image}}} | default.svg }}}}

Then it is easier to use this template instead:

{{ifempty| {{{logo|}}} | {{{image|}}} | default.svg }}

Note! The parameters to {{ifempty}} must use the pipe "|", like this: {{{logo|}}}. Or else {{ifempty}} will be fed and return the string "{{{logo}}}" if logo was not defined.

CodeResultComment
{{ifempty}} Returns an empty string.
{{ifempty|one}} one Returns the first parameter that is defined and not empty.
{{ifempty|one|two}} one
{{ifempty|one|two|three|four}} one
{{ifempty||two}} two The first parameter was empty or undefined, so uses the next parameter.
{{ifempty||two|three|four}} two
{{ifempty||two||four}} two
{{ifempty|||||||||nine}} nine
{{ifempty||||||||||ten}} Only handles up to nine parameters, so returns an empty string.
{{ifempty|}} The only parameter is empty or undefined, so returns an empty string.
{{ifempty||||}} Returns an empty string.
{{ifempty|{{{1|}}}|{{{2|}}}|three}} three
{{ifempty|{{{1}}}|{{{2}}}|three}} {{{1}}} Fails. Note the lack of "|" in the first two parameters.
{{ifempty|{{{logo|}}}|two}} two
{{ifempty|{{{logo}}}|two}} {{{logo}}} Fails. Note the lack of "|" in the first parameter.
  • {{px}} – Helps handling image width parameters in templates.
  • Help:Parameter default – You probably don't need to know this anymore if you use this template.