首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在1中使用两个短代码

在1中使用两个短代码
EN

Stack Overflow用户
提问于 2014-03-20 19:20:32
回答 3查看 311关注 0票数 0

我想知道我是否可以在1中使用两个短代码。我知道你可以替换短代码中的变量,但我想要的是使用一个短代码,比如苹果,它将提供一个指向我在短代码中给出的链接的链接,但是如果我想要那个链接旁边的一个图标,就可以使用苹果图标,而不是在它左边提供一个图标链接。

代码语言:javascript
运行
复制
add_shortcode('apple', 'apple');
function apple()
{
return '<a href="http://example.com/apple>Apple</a>';
}

因此,是否有可能添加图标到哪里,如果我们添加图标到短代码,它也将返回一个图像,我将在短代码中指定。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-20 19:30:30

您将希望使用attributes

代码语言:javascript
运行
复制
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"]

这是文档shortcode

票数 0
EN

Stack Overflow用户

发布于 2014-03-20 19:25:20

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

如果不是您自己的短代码,您可以调用do_shortcode

shortcode

票数 0
EN

Stack Overflow用户

发布于 2014-03-20 19:32:02

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

代码语言:javascript
运行
复制
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;
}

要使用它,您可以输入您的短代码如下:

代码语言:javascript
运行
复制
[apple icon="yes"]

如果它只是图标的“是/否”。

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

代码语言:javascript
运行
复制
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;
}

然后,您的短代码如下所示:

代码语言:javascript
运行
复制
[apple icon="my_icon.png"]

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22543053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档