我创建了一个我尝试传递属性的简短代码,但我似乎没有在另一端接收该值。
以下是我在下面的内容;
function list_display($atts) {
extract( shortcode_atts(
array(
'pageName' => 'No Page Received',
), $atts )
);
echo $pageName;
add_shortcode('list-briefings-display', 'list_display');
}
并且正在使用的短代码是
[list-display pageName="My Page Name"]
我正在从functions.php
运行require_once require_once ( TEMPLATEPATH. '/includes/list-display.php' );
但我在屏幕上看到的是“没有收到任何页面”,有人能想到我可能会错过的内容吗?
短代码生成的内容越来越多,我已经包含了这些内容,这些内容可以正常呈现。所以它似乎与我如何通过该属性有关。
感谢任何帮助。
答案 0 :(得分:0)
function list_display($atts) {
$atts = shortcode_atts( array(
'pagename' => 'No Page Received'
), $atts );
extract($atts);
echo $pagename;
}
add_shortcode('list-display', 'list_display');
你可能想要使用" return"而不是" echo"如果您在页面和帖子中使用短代码,则Echo可能会导致它过早地将输出发送到屏幕,并且不会在您可能期望的位置结束。
我的代码中还有一些格式问题我已经纠正过,主要是尝试在您尝试引用的同一个函数中使用add_shortcode()。我还将add_shortcode()的第一个参数更改为您在示例中尝试使用的短代码。