Mailto:PHP echo,如何在新选项卡中打开mailto链接?

问题描述 投票:0回答:1

如何在新窗口中打开MAILTO链接(PHP echo)?

代码:

<?php
global $listing_id;

$listing_id = ( is_null( $listing_id ) ) ? get_the_ID() : $listing_id;

$user_added_by = get_post_meta( $listing_id, 'stm_car_user', true );
$user_fields   = stm_get_user_custom_fields( $user_added_by );
?>
<div class="dealer-contact-unit mail">
    <a href="mailto:<?php echo esc_attr( $user_fields['email'] ); ?>">
        <div class="email-btn heading-font">
            <?php echo wp_kses( $de_icon, apply_filters( 'stm_ew_kses_svg', array() ) ); ?> 
            <span>
                <?php echo esc_html( $de_label ); ?>
            </span>
        </div>
    </a>
</div>

我的尝试。排队:

<a href="mailto:<?php echo esc_attr( $user_fields['email'] ); ?>">

我将 target="_blank" 如下:

<a href="mailto:<?php echo esc_attr( $user_fields['email'] ); ?>" target="_blank">

或喜欢:

<a target="_blank" href="mailto:<?php echo esc_attr( $user_fields['email'] ); ?>">

但是在这两种情况下都不会打开新选项卡。

有人可以帮助我吗?

html hyperlink echo mailto new-window
1个回答
1
投票

试试这个

来自 jsfiddle 的工作示例

<div class="dealer-contact-unit mail">....<a href ..... </a></div>
替换为下面的 HTML/PHP

<div class="dealer-contact-unit mail" data-href="mailto:<?php echo esc_attr( $user_fields['email'] ); ?>">
  <div class="email-btn heading-font">
    <?php echo wp_kses( $de_icon, apply_filters( 'stm_ew_kses_svg', array() ) ); ?>
    <span>
      <?php echo esc_html( $de_label ); ?>
    </span>
  </div>
</div>

然后在页面上的某个位置添加此内容 - 在

<?PHP ... ?>
标签之外

<script>
document.addEventListener('DOMContentLoaded',() => {
  document.querySelector('.mail').addEventListener('click',(e) => {
    const email = e.target.closest('div.mail').dataset.href;
    window.open(email,'_blank');
    // or 
    // location.href=email; 
  });
});
</script>
© www.soinside.com 2019 - 2024. All rights reserved.