您发布的代码:
<a href="<?php
if ( is_user_logged_in() ) {
echo get_post_meta($post_id, \'external_link\', true);
}
else {
echo \'Login to View\';
}
?>
">View Website</a>
将响应“登录查看”作为
href
属性
您需要更多类似于:
<a href="<?php
if ( is_user_logged_in() ) {
echo get_post_meta($post_id, \'external_link\', true);
}
else {
echo wp_login_url( get_permalink() );
}
?>">View Website</a>
这当然不会改变文本,只是
href
. 因此,也许可以更早地执行条件步骤(我添加了一个任意
<span>
对于上下文):
<span>
<?php
if ( is_user_logged_in() ) {
$href = esc_url( get_post_meta($post_id, \'external_link\', true ) );
$text = \'View Website\';
}
else {
$href = wp_login_url( get_permalink() );
$text = \'Login to View\';
}
?>
<a href="<?php echo $href; ?>" ><?php echo $text; ?></a>
</span>
由于您正在从数据库中提取url,因此我将其包装在
esc_url() for sanitization.