Loading…

Stinger6 Stinger7 WordPress カスタマイズ 備忘録

ブログカード

プラグインなしでブログカードを新規タブで開く方法とコード

本日の人気記事BEST10

所要時間目安:4

この記事は2016年2月18日のものです。現在は状況が異なる可能性がありますのでご注意ください。

Stinger6 Stinger7 WordPress カスタマイズ 備忘録

ブログカード

ブログカード

先日、
WordPressにおいてブログカード(内部リンク用)を作成するショートコードのphp関数コードを紹介しました。

 


https://infovarious.com/post-852/

 

上記ですが、
上記の記事のコードですとリンク先(内部リンク)の記事が同じタブで表示されてしまうので、
せっかく訪れてくれた方々がブログカードをクリックするとその記事が見れなくてってしまいます。

 

それではその記事が見たくてアクセスしてくれたのに、
クリックした瞬間に違う記事(URL)になってしまうので新規タブで開くようにコードを若干改変しました。

スポンサーリンク

アドセンス336pxPC閲覧記事下表示1つ目コード

この記事を読む方へのオススメ
よく読まれている人気記事一覧

ブログカード(内部リンク)を新規タブで開くようにコードは以下です。

 

/*部リンク本文抜粋を取得する関数(綺麗な抜粋文を作成するため*/
 /*https://nelog.jp/get_the_custom_excerpt*/
 function get_the_custom_excerpt($content, $length) {
 $length = ($length ? $length : 70);//デフォルトの長さを指定する
 $content = preg_replace('/<!--more-->.+/is',"",$content); //moreタグ以降削除
 $content = strip_shortcodes($content);//ショートコード削除
 $content = strip_tags($content);//タグの除去
 $content = str_replace("&nbsp;","",$content);//特殊文字の削除(今回はスペースのみ)
 $content = mb_substr($content,0,$length);//文字列を指定した長さで切り取る
 return $content;
 }

 //内部リンクをはてなカード風にするショートコード
 function nlink_scode($atts) {
 extract(shortcode_atts(array(
 'url'=>"",
 'title'=>"",
 'excerpt'=>""
 ),$atts));

 $id = url_to_postid($url);//URLから投稿IDを取得
 $post = get_post($id);//IDから投稿情報の取得
 $date = mysql2date('Y-m-d H:i', $post->post_date);//投稿日の取得

 $img_width ="90";//画像サイズの幅指定
 $img_height = "90";//画像サイズの高さ指定
 $no_image = get_template_directory_uri().'/images/no-img.png';//アイキャッチ画像がない場合の画像を指定

 //抜粋を取得
 if(empty($excerpt)){
 if($post->post_excerpt){
 $excerpt = get_the_custom_excerpt($post->post_excerpt , 90);

 }else{
 $excerpt = get_the_custom_excerpt($post->post_content , 90);
 }
 }

 //タイトルを取得
 if(empty($title)){
 $title = esc_html(get_the_title($id));
 }

 //アイキャッチ画像を取得 
 if(has_post_thumbnail($id)) {
 $img = wp_get_attachment_image_src(get_post_thumbnail_id($id),array($img_width,$img_height));
 $img_tag = "<img src='" . $img[0] . "' alt='{$title}' width=" . $img[1] . " height=" . $img[2] . " />";
 } else { $img_tag ='<img src="'.$no_image.'" alt="" width="'.$img_width.'" height="'.$img_height.'" />';
 }

 $nlink .='<div class="blog-card"><a href="' . $url . '" target="_blank"><div class="blog-card-thumbnail">'. $img_tag .'</a></div><div class="blog-card-content"><div class="blog-card-title"><a href="' . $url . '" target="_blank">'. $title .' </a></div><div class="blog-card-excerpt">' . $excerpt . '</div></div><div class="blog-card-footer clear"><div class="blog-card-date">'.$date.'</div><div class="blog-card-hatebu"><img src="https://b.hatena.ne.jp/entry/image/'. $url .'" alt="はてブ"></div></div></div>';

 return $nlink;
 } 

 add_shortcode("nlink", "nlink_scode");

 

スポンサーリンク

目次に戻る


<target="_blank">を付けて2箇所変更しています。

 

変更箇所は以下になります。
(変更箇所のみ抜粋)

 

$nlink .='<div class="blog-card"><a href="' . $url . '" target="_blank"><div class="blog-card-thumbnail">'. $img_tag .'</a></div><div class="blog-card-content"><div class="blog-card-title"><a href="' . $url . '" target="_blank">'. $title .' </a></div><div class="blog-card-excerpt">' . $excerpt . '</div></div><div class="blog-card-footer clear"><div class="blog-card-date">'.$date.'</div><div class="blog-card-hatebu"><img src="https://b.hatena.ne.jp/entry/image/'. $url .'" alt="はてブ"></div></div></div>';

 

上記の黄色の部分を変更しました。

 

せっかく来ていただいた方が、
該当記事を見失わないように新規タブで開くようにしてあります。

以上、
参考になれば幸いです。

0 views


アドセンス336pxPC閲覧記事下表示1つ目コード

おすすめの記事一部広告

    Multiplex 広告

Stinger6, Stinger7, WordPress, カスタマイズ, 備忘録」同じカテゴリーの記事一覧


関連記事

WXR-1900DHP2

PC 伝えたいこと 備忘録 無線LANルーター

オススメの無線LANルーターはWXR-1900DHP2評価とレビュー

以前、 以下のような記事を書きましたが、 それ以来使用してもうすぐ3ヶ月になります。 WXR-1900DHP2評価とレビューそして不具合 追記) 一番最下部と以下に追記レビュー(正規版)をしてあります…

もっと読む

インフィード広告アドセンス

スマホの保護フィルムの中に空気の気泡を入れない方法

Android iPhone スマホ 伝えたいこと 備忘録

スマホの保護フィルム貼りを失敗しない貼り方法ガラスザムライのクリップ使用

いまやスマホは当たり前になってきています。そんなスマホの画面保護に保護フィルムを貼る方が多いと思います。 その保護フィルムを貼る際に、多くの場合中に空気が入って気泡が残ってしまうことも多々経験していま…

もっと読む

インフィード広告アドセンス

別のユーザーでPlugfree NETWORKが起動しています。

PC Windows10 伝えたいこと 備忘録 設定

別のユーザーでPlugfreeNETWORKが起動しています。解決方法

ここ数日の間ですが、 タイトルのように「別のユーザーでPlugfree NETWORKが起動しています。」というポップアップ通知が表示されるようになりました。 このアプリケーションは、 富士通製PCに…

もっと読む

インフィード広告アドセンス

関連記事内にインフィード広告挿入画像

AdSense AFFINGER4Pro STINGER PLUS+ Stinger6 Stinger7 WordPress カスタマイズ 伝えたいこと 備忘録

関連記事内(途中)にインフィード広告を入れる挿入方法

先月いや先々月の7月初旬頃かと思います。Google Adsenseにおいて、 インフィード広告や 関連コンテンツ内広告 そして記事内広告 の3つが追加されてこれまでよりより使いやすくなりました。 (…

もっと読む

目次に戻る

よろしかったらシェアよろしくお願いします。

-Stinger6, Stinger7, WordPress, カスタマイズ, 備忘録
-, , ,

目次に戻る

目次に戻る


コメントを閉じる
  1. […] プラグインなしでブログカードを新規タブで開く方法とコード 先日、 WordPressにおいてブログカード(内部リンク用)を作成するショートコードのphp関数コードを紹介しました。 https://infovarious.com/2016-02-18 02:35 // […]

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください