在PHP内部运行PHP echo?

时间:2015-09-04 12:55:16

标签: php html wordpress wordpress-theming

所以我发现你不能在PHP回声中运行PHP(对我来说是愚蠢的) 所以我不能想到另一种运行这个脚本的方法,也就是做一个变量?

它是php脚本中的wordpress php脚本

<?php if ( !is_user_logged_in() ) { 
echo '<a href=" <?php echo get_site_url(); ?>/login" class="typcn typcn-key-outline">Log in</a>';
}
else {
echo '<a href="<?php echo get_site_url(); ?>/wp-login.php?action=logout" class="typcn typcn-key-outline">Log out</a>';
} ?>

1 个答案:

答案 0 :(得分:5)

好的,这个剧本中几乎没有错误。

首先,你在php标签中使用php标签,它没有意义,你已经在使用php了,所以你不需要那些php标签。

但是即使你删除了php标签它也不会起作用,因为你在一个字符串里面,所以你要求php写一个litteraly get_site_url()(你不是在调用get_site_url(),你是在写get_site_url ())

那你该怎么做?

让我们看看连接是如何工作的。连接运算符是&#34;。&#34;。它允许连接两个字符串。

示例:

 $sentence = "Hello" . " " . "Thierry"; // means $sentence = "Hello Thierry".

好的,现在让我们对变量做同样的事。

$name = "Thierry";
$sentence = "Hello" . " " . $name; // means $sentence = "Hello Thierry";

这就是你需要的一切。

让我们看看我们如何解决你的问题,

你想要的结果是:

echo '<a href="yourSiteUrl/login" class="typcn typcn-key-outline">Log in</a>';

现在我们用连接运算符和php函数替换yourSiteUrl。你有:

echo '<a href="'.get_site_url().'/login" class="typcn typcn-key-outline">Log in</a>';

重复这个过程,你最终会得到这个:

<?php if ( !is_user_logged_in() ) { 
    echo '<a href="'.get_site_url().'/login" class="typcn typcn-key-outline">Log in</a>';
    }
    else {
    echo '<a href="'.get_site_url().'/wp-login.php?action=logout" class="typcn typcn-key-outline">Log out</a>';
    } ?>

希望英语不是太糟糕