我在这个函数里面有一个带有标签[form-edit]的自定义短代码我需要执行一个简短的插件,例如[Form id =" 10"]。下面给出的是我的非工作代码。
add_shortcode('form-edit', 'form_edit_function');
function form_edit_function(){
$fid = $_GET['fid'];
echo do_shortcode('[Form id="'.$fid.'"]');
}
如何使它成为可能?请帮忙
答案 0 :(得分:0)
我认为问题是在函数中使用$ _GET,因为在调用the_content或您要添加的任何函数时可能无法使用它。
function form_edit_function( $atts , $content = null ) {
// Extra attributes into variables
extract( shortcode_atts(
array(
'fid' => '' // the default value if not passed
), $atts )
);
$html = do_shortcode('[Form id="' . $fid . '"]');
// store in variable and return other echo will not
// put it in the correct place within your content
return $html;
}
// Use in post content or other places as [form-edit fid="1][/form-edit]
add_shortcode( 'form-edit', 'form_edit_function' );
答案 1 :(得分:0)
通常,短代码通过RETURN语句而不是ECHO发送它的输出。如果您回显它,它将被发送到Wordpress请求的正常操作顺序之外。它只会被推入输出的标题中,甚至可能看不到。另外,你知道你在这里有两个短代码,“form-edit”和“Form”,对吧?对于短代码,两者都是非常糟糕的名字。短代码名称区分大小写。你确定你的第二个短片是“形式”而不是“形式”吗?