WordPress Plugin Development Series (38/95). Prefer one article? Read the complete WordPress plugin development tutorial.
Short description
Always return output (don’t echo). Escape values and sanitize attributes.
add_shortcode
add_shortcode('acme_greeting', function ($atts) {
$atts = shortcode_atts(['name' => 'friend'], $atts, 'acme_greeting');
return '<p>Hello, ' . esc_html($atts['name']) . '!</p>';
});