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>
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.