wordpressのHP作成中なのですが、1箇所だけaタグ内のtarget="_blank"が聞きません。
その箇所にはカスタムフィールド が設定してあり、記事のフィールド内にURLの入力があればリンク先にそのままリンク、それ以外は通常通り記事表示としています。
URLの設定されているリンクをクリックすると新しいページではなくそのページのまま開かれてしまいます
###考えられる問題点
・linkやulで囲われているaタグにtargetを設定したのが問題?(どこかの記事で読みました・・
front-page.php
<?php $my_posts = get_posts( $args ); ?> <ul class=" news-contents"> <?php global $post; if($posts): foreach($my_posts as $post): setup_postdata($post); $post_id = $post->ID; $link = get_post_meta($post_id,'link',true); ?> <?php if($link) : ?> <li class="news-list"> <a target="_blank" rel=“noopener” href="<?php echo $link; ?>"> <div class="news-list__set"> <time class="news-list__time" datetime="2019-02-01"><?php the_time(__('Y/n/j')) ?></time> <?php if ($terms = get_the_terms($post->ID, 'cat_news')) { foreach ( $terms as $term ) { $term_slug = $term -> slug; echo ('<div class="news-list__label ') ; echo esc_html($term_slug) ; echo ('">') ; echo esc_html($term->name) ; echo ('</div>') ; } }
・他のjavascriptの記述の中の問題?(作用してしまっているなど・・
js
// スムーススクロール $(function () { var headerHeight = $('header').outerHeight(); $('a[href^="#"]').click(function () { var href = $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top - headerHeight; $("html, body").stop().animate({ scrollTop: position }, 500); return false; }); }); // トップへ $(function () { $(() => { let topBtn = $('.page-top'); topBtn.hide(); $(window).scroll(() => { if ($(this).scrollTop() > 400) { topBtn.fadeIn(); } else { topBtn.fadeOut(); } }); topBtn.click(() => { $('html,body').animate( { scrollTop: 0 }, 800 ); return false; }); }); }); $(function () { $('.js-modal-open').each(function () { $(this).on('click', function () { var target = $(this).data('target'); var modal = document.getElementById(target); $(modal).fadeIn(); return false; }); }); $('.js-modal-close').on('click', function () { $('.js-modal').fadeOut(); return false; }); });
過去の質門やjavascriptの記述を書いて制御する方法などもみましたが、
URLを指定しないといけなかったり、target="_blank"を付与する方法で、今回の状況に適した解決方法が見つかりませんでした。ヒントをいただけると助かります
回答1件
あなたの回答
tips
プレビュー