Php WP短代码不返回内容
我试图在模板文件中设置一个短代码 我有以下设置: 作为WP页面中的内容:Php WP短代码不返回内容,php,wordpress,wordpress-theming,themes,Php,Wordpress,Wordpress Theming,Themes,我试图在模板文件中设置一个短代码 我有以下设置: 作为WP页面中的内容: [test]短码![/test] 在functions.php中: function test( $atts, $content = null ) { return '<h1>'.$content.'</h1>'; } add_shortcode("test", "test"); 功能测试($atts,$content=null){ 返回“.$content.”; } 添加_短代码(“
[test]短码![/test]
在functions.php中:
function test( $atts, $content = null ) {
return '<h1>'.$content.'</h1>';
}
add_shortcode("test", "test");
功能测试($atts,$content=null){
返回“.$content.”;
}
添加_短代码(“测试”、“测试”);
在上面页面的template.php中:
<?php echo do_shortcode('[test]'); ?>
但是什么也没有得到回报。如果我在template.php中调用the_post()
和the_content()
,短代码确实会正确显示为h1,但这不是我想要的功能,我需要能够在特定位置插入[test]
短代码
此外,我似乎可以在函数中添加硬编码的内容并显示出来,所以$content变量很可能没有返回任何数据?是什么原因导致了这种情况?您应该回显短代码,以使其正常工作:
您应该回显短代码,以使其正常工作:
参考此
您只需简单地回显短代码
<?php echo do_shortcode('[test]'); ?>
请参阅此
您只需简单地回显短代码
<?php echo do_shortcode('[test]'); ?>
您需要回显输出。当使用do_shortcode时,它将在wp includes中运行,其中有一个文件shortcodes.php。当触发函数时,将把内容返回给调用函数。因此,代码如下所示:
<?php echo do_shortcode('[test]'); ?>
function my_custom_shortcode_func( $atts, $content = null ) {
return '<p>' . $content . '</p>';
}
add_shortcode( 'my_custom_shortcode', 'my_custom_shortcode_func' );
<?php echo do_shortcode('[my_custom_shortcode]<p>Hello this is from custom shortcode contents</p>[/my_custom_shortcode]'); ?>
或者,如果要在开始标记和结束标记内容之间传递参数,则应执行以下操作:
<?php echo do_shortcode('[test]'); ?>
function my_custom_shortcode_func( $atts, $content = null ) {
return '<p>' . $content . '</p>';
}
add_shortcode( 'my_custom_shortcode', 'my_custom_shortcode_func' );
<?php echo do_shortcode('[my_custom_shortcode]<p>Hello this is from custom shortcode contents</p>[/my_custom_shortcode]'); ?>
函数my\u custom\u shortcode\u func($atts,$content=null){
返回“”.$content.“”;
}
添加快捷码('my_custom_shortcode'、'my_custom_shortcode_func');
您需要回显输出。当使用do_shortcode时,它将在wp includes中运行,其中有一个文件shortcodes.php。当触发函数时,将把内容返回给调用函数。因此,代码如下所示:
<?php echo do_shortcode('[test]'); ?>
function my_custom_shortcode_func( $atts, $content = null ) {
return '<p>' . $content . '</p>';
}
add_shortcode( 'my_custom_shortcode', 'my_custom_shortcode_func' );
<?php echo do_shortcode('[my_custom_shortcode]<p>Hello this is from custom shortcode contents</p>[/my_custom_shortcode]'); ?>
或者,如果要在开始标记和结束标记内容之间传递参数,则应执行以下操作:
<?php echo do_shortcode('[test]'); ?>
function my_custom_shortcode_func( $atts, $content = null ) {
return '<p>' . $content . '</p>';
}
add_shortcode( 'my_custom_shortcode', 'my_custom_shortcode_func' );
<?php echo do_shortcode('[my_custom_shortcode]<p>Hello this is from custom shortcode contents</p>[/my_custom_shortcode]'); ?>
函数my\u custom\u shortcode\u func($atts,$content=null){
返回“”.$content.“”;
}
添加快捷码('my_custom_shortcode'、'my_custom_shortcode_func');
您没有在测试短代码之间指定任何内容,因此您得到的结果字符串为空。你需要写作
<?php $strvar='Load String value here'; echo do_shortcode('[test]'.$strvar.'[/test]'); ?>
以上代码给出的结果为此处加载字符串值
$strvar=获取内容() 您没有在测试短代码之间指定任何内容,因为您得到的结果字符串为空。你需要写作
<?php $strvar='Load String value here'; echo do_shortcode('[test]'.$strvar.'[/test]'); ?>
以上代码给出的结果为此处加载字符串值
$strvar=获取内容() 很抱歉,当我回复Dimitar时,这只是我帖子中的一个输入错误,我在回复文件中的do_短码。很抱歉,当我回复Dimitar时,这只是我帖子中的一个输入错误,我在回复文件中的do_短码。很抱歉,我刚刚错过了帖子中的回声部分,现已修复。我在我的文件中回音,但是没有用。对不起,我刚刚错过了我的帖子中的回音部分,现在修复了。我在我的文件中重复了它,虽然没有用。谢谢你的回复,但是正如其他评论中提到的,这只是文章中的一个打字错误,我在我的文件中重复了do_短代码。我不需要参数,但我想在短代码的开始和结束语句中显示内容,如这里所示-[测试]显示此内容[/test]我已更新了我的答案,但在您的问题中,您的回调函数和快捷码名称都相同,因此这可能是一个问题。请再次回答,但这仍然有效。作为记录,在您的示例中,do_shortcode函数中的将自动生成,对吗?所以我的模板文件只有?谢谢你的回复,但是正如其他评论中提到的,这只是文章中的一个打字错误,我在我的文件中重复do_短代码。我不需要参数,但我想在短代码的开始和结束语句中显示内容,如这里所示-[测试]显示此内容[/test]我已更新了我的答案,但在您的问题中,您的回调函数和快捷码名称都相同,因此这可能是一个问题。请再次回答,但这仍然有效。作为记录,在您的示例中,do_shortcode函数中的将自动生成,对吗?所以我的模板文件只有?所以这个代码[测试]短代码![/test]应该可以通过WP界面进行编辑,我希望能够在模板中显示内容(“本例中为shortcode!”)。我明白你的意思,但我不需要在开始和结束快捷码标记之间硬编码内容,我想将该内容称为变量。你可以通过变量添加动态内容。在这一行之前,请将动态内容设置为$strvar。我不太确定该怎么做,因为您可以看出我不知道我在做什么:)。而且可能会有很多不同的动态内容,因此我仍然需要在WP编辑器中使用打开标记/关闭标记语义来区分这一点,短代码似乎是一种方法,可以在muse$strvar=get_the_content()中使用;将模板页面的内容分配给变量。因此,在WP后端,无论您为模板页面描述添加了什么,都会显示出来。我这样做了,但是它最终会显示页面上的所有内容,而不是仅显示短代码打开和关闭标记中的内容。因此,当我在WP编辑器中编辑页面时,我现在有了如下内容:加载字符串值[test]here[/test],并且我只想显示“here”,我如何具体针对它?get_the_content()似乎正在返回此代码[测试]短代码的所有内容![/test]应该可以通过WP界面进行编辑,我希望能够在模板中显示内容(“本例中为shortcode!”)。