我的网站上有一个按钮短代码,我将在我的所有帖子中使用它。 我想要的是,如果我修改了按钮值,那么更改应该应用于网站上的所有按钮。所以我不必修改每个帖子。
我想更改按钮标题,链接以及 rel
例如:
[button rel="[btn-rel]" url="[btn-url]"] [btn-cap] [/button]
我用Google搜索了问题并将以下代码添加到Function.php以更改按钮标题。
function btn_cap() {
return 'More Freebies!';
}
add_shortcode('btn-cap', 'btn_cap');
并将Shortcode添加到按钮短代码中,如下所示:
[button][btn-cap][/button]
哪个没有成功:(按钮的标题是“[btn-cap]”而不是“更多免费赠品”
我真的希望这件事能够奏效,因为它会节省我很多时间和工作。
提前致谢...
答案 0 :(得分:3)
您不能像在示例中那样使用短代码作为变量/占位符。但是,您可以使用所需的默认值编写自己的按钮短代码。
将以下内容添加到 functions.php
function freebie_button( $atts, $content = null) {
// Default values
$atts = shortcode_atts( array(
'rel' => 'nofollow',
'url' => '/',
'cap' => 'More Freebies!',
), $atts );
$rel = 'rel="' . $atts['rel'] . '" ';
// remove 'rel' attribute if it's empty
if($rel === ''){
$rel = '';
}
return '<a ' . $rel . 'href="' . $atts['url'] . '">' . $atts['cap'] . do_shortcode($content) . '</a>';
}
add_shortcode('freebutton', 'freebie_button');
<强>用途强>
[freebutton]
[freebutton rel="" url="#" cap="Buy this"]
[freebutton cap="Read "]More[/freebutton]
<强>输出强>
<a rel="nofollow" href="/">More Freebies!</a>
<a href="#">Buy this</a>
<a rel="nofollow" href="/">Read More</a>
希望这段代码可以帮助您入门。