Шорткоды в WordPress

Порой необходимо вывести в определённое место поста какой-нибудь вставки, например галерею или рекламу. Для этого можно использовать шорткоды, добавив прямо в текст статьи вставку подобного вида:

[shortcode param1="123" param2="abc"]

Таким образом мы можем вызвать заранее определённую функцию, которая будет прикреплена к названию шорткода. Название может быть любое, в данном случае было выбрано «shortcode». Так же в данном случае в функцию будут переданы ещё два параметра: param1 и param2. Однако указывать параметры не обязательно, если ваша функция их не использует.

Теперь нужно написать нашу функцию и привязать её к соответствующему шорткоду.

function shortcode_func( $atributs ) {
	extract( shortcode_atts( array(
		'param1' => 'значение по-умолчанию1',
		'param2' => 'значение по-умолчанию2',
	), $atributs ) );

	return "<img src='$param1' alt='$param2' />";
}
add_shortcode( 'shortcode', 'shortcode_func' );

С помощью специальной функции add_shortcode мы привязали нашу функцию shortcode_func к выводу шорткода shortcode. В функции сделана распаковка входных данных $atributs в отдельные переменные. Так же для переменных указаны значения по-умолчанию, которые будут использованы, если не указать при добавлении шорткода этих параметров. Если вы не используете параметры при добавлении вообще, то и тогда в самой функции не надо делать распаковку входных параметров.

Ещё важный момент: в функции используйте return для возвращения данных, а не с помощью echo, иначе вся информация будет выводится в самом начале страницы, а не там, где был вставлен вызов шорткода.