我在一个网站上为一个运行社交赎金风格博客的客户工作。这是用户必须单击其中一个社交媒体按钮才能访问内容的位置。
然而,她现在将使用OnePress Social Locker插件进行wordpress,它通过将内容包装在特定标签中来实现,如下所示:
[sociallocker] Content Here will Be Locked [/sociallocker]
目前,她已经拥有自己的自定义短代码,其工作方式如下:
[socialLock url="http://example.com" text="Click here to view content"] Content here will be locked [/socialLock]
问题在于,她的博客上有超过2,300页,并且每个人都会改变一次。通过仪表板将需要很长时间,这不是按小时支付合同。
我认为我能够将当前的短代码传递给新的短代码:
function parseShortcode_func( $atts ) {
$atts = shortcode_atts( array(
'link' => '',
'text' => 'default text'
), $atts );
return "[sociallocker] <a href=\"{$atts['link']}\">{$atts['text']}</a> [/sociallocker]";
}
add_shortcode( 'socialLock', 'parseShortcode_func' );
然而,这只是输出
[sociallocker] Click here to view content [/sociallocker]
有没有人知道如何在短代码中解析第二个短代码?
答案 0 :(得分:1)
do_shortcode()
函数将重新解析输出字符串。
return do_shortcode("[sociallocker] <a href=\"{$atts['link']}\">{$atts['text']}</a> [/sociallocker]");