web-dev-qa-db-fra.com

Convertir un shortcode en HTML

Je veux convertir ce shortcode.

[list-style="one"]
a
b
c
d
[/list-style]

Pour sortir comme celui-ci (forme html)

<ul class="one">
        <li>a</li>
        <li>b</li>
        <li>c</li>
        <li>d</li>
    </ul>
2
ashraf

Tout d’abord, vos codes courts ne sont pas formatés correctement pour WordPress.

Vous devez avoir une balise pour votre shortcode, puis définir les attributs séparément.

Au lieu de [list-style="one"][/list-style], il doit être quelque chose comme [list class="one"][/list]

Le code suivant ajoutera deux codes abrégés à votre installation WordPress. [list] et [li]

// shortcode for the list
function LIST_shortcode( $atts, $content ) {

    // get the options defined for this shortcode
    extract( shortcode_atts( array(
        'class'     => '',
        'id'        => '',
        'type'      => 'ul'
    ), $atts ) );

    // output a list and do_shortcode for <li> elements
    return '<' . $type . ' class="' . $class . '" id="' . $id . '">' . do_shortcode( $content ) . '</' . $type . '>';
}
add_shortcode( 'list', 'LIST_shortcode' );

// shortcode for the list items
function LI_shortcode( $atts, $content ) {

    // get the options defined for this shortcode
    extract( shortcode_atts( array(
        'class'     => '',
        'id'        => '',
    ), $atts ) );

    // return list element
    return '<li class="' . $class . '" id="' . $id . '">' . do_shortcode( $content ) . '</li>';
}
add_shortcode( 'li', 'LI_shortcode' );

Vous les utiliseriez alors comme ceci:

[list class="one"][li]A[/li][li]B[/li][li]C[/li][li]D[/li][/list]

Mon code vous permet également de ..

Définir un attribut ID: [list id="someid"]

Définissez le type de liste: [list type="ol"]

Pour que ce code fonctionne, ajoutez-le au fichier functions.php de votre thème ou créez-en un plug-in.

1
Playforward