【问题标题】:Shortcode as an value in wordpress简码作为 wordpress 中的值
【发布时间】:2016-03-04 09:07:33
【问题描述】:

我的网站上有一个按钮简码,我将在我的所有帖子中使用它。 我想要的是,如果我修改了按钮值,则更改应该应用于网站上的所有按钮。这样我就不必修改每个帖子。

我想更改按钮 CaptionLinkrel

例如:

[button rel="[btn-rel]" url="[btn-url]"] [btn-cap] [/button] 

我用谷歌搜索了这个问题并将以下代码添加到 Function.php 以更改按钮标题。

function btn_cap() {  
    return 'More Freebies!';
}
add_shortcode('btn-cap', 'btn_cap');

并将短代码添加到按钮短代码中,如下所示:

[button][btn-cap][/button]

哪个没有成功:(按钮的标题是“[btn-cap]”而不是“更多免费赠品”

我真的希望这个东西能正常工作,因为它可以节省我很多时间和工作。

提前谢谢...

【问题讨论】:

  • 为什么不向您的简码添加参数,例如 [button rel="the-rel" url="the-url"][/button],然后在您的简码中处理这些参数?在此处查看有关短代码参数的更多信息:codex.wordpress.org/Shortcode_API
  • 到目前为止,我只想更改 按钮标题。因为我可以随时重定向链接。但问题出在按钮标题上。我想要从后端控制按钮的标题。 PHP 对我来说是新的,所以不知道。也可以使用 Javascript 来完成吗?我不知道如何在简码中使用简码。
  • 您可以设置标题属性,例如 [button title="button-title"][/button],然后在您的 functions.php 中进行处理。老实说,答案在下面解释得很好,应该可以在这里为您提供帮助

标签: javascript php jquery wordpress shortcode


【解决方案1】:

您不能像示例中那样使用简码作为变量/占位符。但是,您可以使用所需的默认值编写自己的按钮短代码。

将以下内容添加到 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>

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

【讨论】:

  • 如果function.php文件被保存,代码返回500服务器错误!
  • 退货线路有问题
  • @Krypto 是正确的。它应该是 return '&lt;a... 而不是 return = '&lt;a...。我改变了我的例子
猜你喜欢
  • 2019-07-13
  • 1970-01-01
  • 2011-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
相关资源
最近更新 更多