在1中使用两个短代码

时间:2014-03-20 19:20:33

标签: php wordpress shortcode

我想知道我是否可以在1中使用两个短代码。我知道你可以用短代码替换变量但是我正在寻找的是使用短代码说[apple]这将提供我给出的链接的链接在短代码中然后如果我想在该链接旁边的图标能够使用[苹果图标],而不是提供带有左侧图标的链接。

add_shortcode('apple', 'apple');
function apple()
{
return '<a href="http://example.com/apple>Apple</a>';
}

所以可以添加图标到哪里如果我们在短代码中添加图标,它也会返回一个我将在短代码中指定的图像。

3 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您不需要在短代码中创建短代码。短代码已在您的插件/函数中执行,因此您应该能够直接在短代码处理函数中调用您的函数(或图标函数)。无需再次通过短代码运行它。

如果您不想使用自己的短代码,可以致电do_shortcode

http://codex.wordpress.org/Function_Reference/do_shortcode

答案 1 :(得分:0)

您需要使用attributes

add_shortcode( 'apple', 'apple' );

function apple( $atts, $content = null )
{
    extract( shortcode_atts( array( 'icon' => 'false'), $atts ) );

        if($icon == 'true'){
            $output = '<img src="apple.png" />';
        }

    $output .= '<a href="http://www.example.com">Apple</a>';

    return $output;
}

然后你会把它称为

[apple icon="true"]

以下是文档https://codex.wordpress.org/Function_Reference/add_shortcode

答案 2 :(得分:0)

要做你想做的事,没有必要有两个短代码,只需让你的短代码接受参数:

add_shortcode('apple', 'apple');

function apple($args) {
    $default = array('icon' => '');
    $args = wp_parse_args($args, $default);

    $content = '';
    if ($args['icon']) {
        $content.= '<img src="icon.png">';
    }

    $content.= '<a href="http://example.com/apple>Apple</a>';

    return $content;
}

要使用此功能,您需要输入以下短代码:

[apple icon="yes"]

如果只是&#34;是/否&#34;为图标。

或者,您可以这样做,以便根据您设置的icon等于动态加载图标,这需要对函数进行一些修改:

function apple($args) {
    $default = array('icon' => '');
    $args = wp_parse_args($args, $default);

    $content = '';
    if ($args['icon']) {
        $content.= '<img src="' . $args['icon'] . '">';
    }

    $content.= '<a href="http://example.com/apple>Apple</a>';

    return $content;
}

然后你的短代码就像这样:

[apple icon="my_icon.png"]

(注意,您可能需要传递一个完全限定的域名,如下所示:[apple icon="http://example.com/images/my_icon.png"]