将短码转换为html格式

时间:2013-09-09 作者:ashraf

我想转换这个短代码。

[list-style="one"]
a
b
c
d
[/list-style]
像这样输出(html表单)

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

1 个回复
SO网友:Playforward

首先,您的短代码在WordPress中的格式不正确。

您需要为您的短代码设置一个标记,然后分别定义属性。

而不是[list-style="one"][/list-style] 应该是这样的[list class="one"][/list]

以下代码将向WordPress安装中添加两个短代码。[list][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\' );
然后您可以这样使用:

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

我的代码还允许您。。

定义ID属性:[list id="someid"]

定义列表类型:[list type="ol"]

要使此代码正常工作,请将其添加到主题的函数中。php文件或从中创建插件。

结束

相关推荐

如何覆盖Shortcodes.php核心文件?

我想覆盖/更新核心短代码。php文件。构建一个数组并向其他函数发送不同的数据,但我的问题是如何在不编辑核心文件的情况下做到这一点?是否有覆盖核心文件和/或函数的最佳做法?