web-dev-qa-db-fra.com

Shortcode en shortcode: Comment ajouter une variable?

Dans l'exemple ci-dessous, j'ai enveloppé [contact-form-7 id="33"] dans un autre shortcode [myform]. Ainsi, lors de la publication, utilisez simplement [myform] istead:

function wrapthecode() {
    return do_shortcode('[contact-form-7 id="33"]');
}
add_shortcode( 'myform', 'wrapthecode' );

Mais comment ajouter une ID de variable sur le nouveau shortcode?

Signifie que [myform id="33"] est [contact-form-7 id="33"] et [myform id="34"] est [contact-form-7 id="34"]

5
apasajja

Vous devez obtenir les attributs du shortcode, ce qui est assez simple et documenté dans les exemples add_shortcode() :

function wrapthecode( $attr ) {
    if( empty( $attr['id'] ) )
        return 'No ID given.';

    return do_shortcode('[contact-form-7 id="' . $attr['id'] . '"]');
}
add_shortcode( 'myform', 'wrapthecode' );
8
websupporter