带有DO_SHORT CODE和子字符串的自定义快捷方式代码

时间:2016-10-24 作者:Zach Winnie

我正在创建自己的短代码,在该函数中,我通过do\\u短代码调用不同的短代码。我试图在do\\u shortcode调用之后调用substr,但没有得到预期的结果。似乎在do\\u shortcode解析之前调用了substr。示例:

function my_shortcode_function() {
    $string = "";
    $string = do_shortcode(\'[different_shortcode]\');
    $string = substr($string, 4);
    return $string;
}
add_shortcode( \'my_shortcode\', \'my_shortcode_function\' );
这是在返回“ferent\\u shortcode]”,而不是返回应该通过do\\u shortcode解析的字符串。

我做错了什么?

1 个回复
SO网友:Keyiano

使用php substr需要在调用substr函数时添加起点http://php.net/manual/en/function.substr.php

可能的修复方法:

function my_shortcode_function() {
$string = "";
$string = do_shortcode(\'[different_shortcode]\');
$string = substr($string, 0, 4);
return $string;
}

add_shortcode( \'my_shortcode\', \'my_shortcode_function\' );

相关推荐

Execute shortcodes in PHP

我在帖子编辑器中添加了一个地理位置快捷码,可以根据用户的位置显示不同的信息,将其放在帖子页面的内容中,效果非常好。如何在主题的PHP文件中执行此短代码[地理位置][地理位置]?我正在使用免费修改Wordpress主题,我想添加一个新的<span>[geolocation][/geolocation]Information text content</span> 但在主题的内部。php文件,我如何才能做到这一点?如果我直接加上<span>[geolocation][/ge