web-dev-qa-db-fra.com

Pourquoi mon shortcode ne fonctionne pas

Je crée un shortcode personnalisé pour mon site wordpress et je ne fais que suivre l'exemple de l'api shortcode pour wordpress:

function myshortcode() {

$atts = shortcode_atts(
    array(
        'custom_title' => 'Your Title',
        'custom_message' => 'Your Message',
    ), $atts);

    return 'Test: ' . $atts['custom_title'] . ' ' . $atts['custom_message'];

}

add_shortcode('my-short','myshortcode');

Le shortcode dans mon article de blog est:

[my-short custom_title="Test" custom_message="123 Roman Ridge"]

mais il sort

Test: Your Title Your Message

il n'y a rien d'autre dans mon billet de blog que le shortcode, des suggestions?

2
MrJoshFisher

Notez la ligne suivante dans la définition de votre fonction:

function myshortcode() {

il manque les paramètres d'entrée $atts et $content, c'est pourquoi vous obtenez uniquement les valeurs d'attribut par défaut.

Remplacez-le par:

function myshortcode( $atts = [], $content = '' ) {
5
birgire