将短代码作为wordpress

时间:2016-03-04 09:07:34

标签: javascript php jquery wordpress shortcode

我的网站上有一个按钮短代码,我将在我的所有帖子中使用它。 我想要的是,如果我修改了按钮值,那么更改应该应用于网站上的所有按钮。所以我不必修改每个帖子。

我想更改按钮标题链接以及 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]”而不是“更多免费赠品”

我真的希望这件事能够奏效,因为它会节省我很多时间和工作。

提前致谢...

1 个答案:

答案 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>

希望这段代码可以帮助您入门。