0

在我的短代码中,我动态抓取一些自定义帖子并显示它们。这些自定义帖子有一个标有“url”的自定义字段。我要做的是从该自定义字段中获取值并将其放入锚标记的 href 中。问题是我似乎无法在短代码中使用 echo 。似乎函数 do_shortcode 可能是答案,但我不确定如何在我的情况下使用它。问题出在这一行:

$retour .= "<a href='".echo $meta_values;."'>";

这是短代码的其余代码

function sc_liste($atts, $content = null) {
    extract(shortcode_atts(array(
            "cat" => ''
    ), $atts));
    global $post;

    $myposts = get_posts('post_type=section_modules&category_name='.$cat.'&order=ASC');
    $retour = "<div class='container-fluid sectionBoxContainer'><div class='row-fluid'>";
    foreach($myposts as $post) :
    $meta_values = get_post_meta( $post->ID, 'url', true );
         $retour .= "<a href='".echo do_shortcode();."'>";
         $retour.="<div class='sectionBox span4'><h2>".$post->post_title."</h2><div class='hrule_black'></div><p>".$post->post_content."</p></div>";
         $retour .="</a>";
    endforeach;
    $retour .= "</div></div>";

    return $retour;


}
4

3 回答 3

2

您不会回显到变量中,只需将其连接起来:

$retour .= "<a href='".$meta_values."'>";
echo $retour;
于 2013-10-21T20:30:11.420 回答
1

您不应该echo在短代码中包含一个项目。只需将它们存储在一个变量中并在短代码函数的末尾返回结果。在你的情况下,你可以这样做:

$retour .= "<a href='" . $meta_values . "'>";

最后——

return $retour;

于 2017-11-04T18:38:27.203 回答
0

也许我误解了您的问题,但是当您省略回声并放入$meta_values字符串时,这应该可以

$retour .= "<a href='$meta_values'>";
于 2013-10-21T20:32:24.793 回答