PHP link 没有出现

PHP link not appearing

我试图让文本 "Facebook" 成为可点击的 link 但由于某些原因它不会出现在前端。

代码片段:

function friend_contact() {

$healthcard = get_field('healthcard');
$facebook = get_field('facebook');
$phone = get_field('phone');
$fax   = get_field('fax');
$email = get_field('email');

$post_info = '';

if (isset($healthcard['url'])) {
    $img = get_stylesheet_directory_uri() . "/images/mail-icon.png";
    $post_info .= '<a class="healthcard" href="'.$healthcard['url'].'"><img src="'.$img.'" /> Download Contact</a>';
}

if (isset($facebook['url']) && isset($healthcard['url']) {
    $post_info .= ' | ';
}   

if (isset($facebook['url'])) {
$post_info .= '<a href="'.$facebook['url'].'"><i class="fa fa-facebook" style="color:blue"></i> Facebook</a>';
}


$post_info .= '<ul class="friend-contact">';
$post_info .= "<li>$email</li>";
$post_info .= "<li>p: $phone</li>";
$post_info .= "<li>f: $fax</li>";
$post_info .= "</ul>";

var_dump($facebook);    
var_dump(get_field('facebook'));

genesis_markup( array(
    'html5' => sprintf( '<div class="entry-meta">%s</div>', $post_info ),
    'xhtml' => sprintf( '<div class="post-info">%s</div>', $post_info ),
) );
}

转储结果:

string(21) "https://www.yahoo.com" string(21) "https://www.yahoo.com"


['url'] 的替代代码:

if (isset($facebook) && isset($healthcard['url']) {
    $post_info .= ' | ';
}

if (isset($facebook)) {
    $post_info .= '<a class="facebook" a href="$facebook"><i class="fa fa-facebook"></i> Facebook</a>';
    }

我认为问题的根源在于代码位,['url'] 提前谢谢你

您似乎漏掉了下一行中的右括号:

if (isset($facebook['url']) && isset($healthcard['url']) {

您的代码应如下所示:

if ( isset($facebook['url']) && isset($healthcard['url']) ) {

另外 $facebook 变量是一个字符串,因此 $facebook['url'] 无效并且 isset($facebook['url']) returns 总是 false。所以用没有括号部分的 $facebook 替换所有内容。

如果 $healthcard 也是字符串而不是数组,那么您还应该将 $healthcard['url'] 替换为 $healthcard

你用单引号回显你的字符串,因此它不会处理变量。这看起来像是在双引号之间,但那是你的字符串的一部分。所以要么做到

$post_info .= '<a class="facebook" href="'.$facebook.'"><i class="fa fa-facebook"></i> Facebook</a>';

或反转引号。

$post_info .= "<a class='facebook' href='$facebook'><i class='fa fa-facebook'></i> Facebook</a>";

编辑:至于什么是更好的方法,是另一个讨论。只要你始终如一。