wordpress短代码属性未被传递

时间:2014-12-17 15:14:40

标签: php wordpress shortcode

我创建了一个我尝试传递属性的简短代码,但我似乎没有在另一端接收该值。

以下是我在下面的内容;​​

    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' );

但我在屏幕上看到的是“没有收到任何页面”,有人能想到我可能会错过的内容吗?

短代码生成的内容越来越多,我已经包含了这些内容,这些内容可以正常呈现。所以它似乎与我如何通过该属性有关。

感谢任何帮助。

1 个答案:

答案 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()的第一个参数更改为您在示例中尝试使用的短代码。