我想知道我是否可以在1中使用两个短代码。我知道你可以替换短代码中的变量,但我想要的是使用一个短代码,比如苹果,它将提供一个指向我在短代码中给出的链接的链接,但是如果我想要那个链接旁边的一个图标,就可以使用苹果图标,而不是在它左边提供一个图标链接。
add_shortcode('apple', 'apple');
function apple()
{
return '<a href="http://example.com/apple>Apple</a>';
}
因此,是否有可能添加图标到哪里,如果我们添加图标到短代码,它也将返回一个图像,我将在短代码中指定。
发布于 2014-03-20 11:30:30
您将希望使用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"]
这是文档shortcode
发布于 2014-03-20 11:25:20
如果我正确地理解了你的问题,你不应该需要在一个短代码中创建一个短代码。这些短代码已经在您的插件/函数中执行,因此您应该能够在您的短代码处理程序函数中直接调用您的函数(或图标函数)。不需要再通过短代码来运行它。
如果不是您自己的短代码,您可以调用do_shortcode
发布于 2014-03-20 11:32:02
要做您想做的事情,没有必要有两个短代码,只需使您的短代码接受参数:
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"]
如果它只是图标的“是/否”。
或者,您可以根据设置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"]
)
https://stackoverflow.com/questions/22543053
复制