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

更新日:


本日の人気記事BEST10

所要時間目安: 約 4

ブログカード

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

ブログカード

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

 

昨今、ShereHTMLでのリンク作成がここ数年メジャーでしたが、 WordPressやはてなブログにおいてはブログカードなるものが出てきました。 サイト内リンクや外部サ

http://izu.wpblog.jp/post-852/

 

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

 

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



スポンサーリンク

目次に戻る

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

 

/*部リンク本文抜粋を取得する関数(綺麗な抜粋文を作成するため*/
 /*http://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="http://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="http://b.hatena.ne.jp/entry/image/'. $url .'" alt="はてブ"></div></div></div>';

 

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

 

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

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

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

関連記事一部広告

スポンサーリンク

+ クリックで展開します

おすすめ!!

加圧シェイプで24時間無意識運動状態が可能!! 引き締め効果で魅力的なシルエットをサポート!! 運動している時だけでなく、仕事やプライベート就寝中にも!! 通気性がよく、体の動かしやすい伸縮性のある素材です!! 常に体が引き締まって、着心地いい!! 毎日着たい方用にセットも充実!!

女性必見のバストアップにおすすめ!!

マンガでの商品説明を販売ページに採用しています。 商品のメリットや良さが伝わりやすいです。 ★知名度と信頼度!ニュースアプリや芸能人ブログでも話題! (インスタグラム SmartNews yahoo アメーバ crooz 楽天) ●知名度が高く購入率の高い商品です。 ●ニュースサイトの紹介でも話題となり、有名タレント、モデル等にも使用して頂きブログなどでも紹介されている信頼度の高い商品です。 ●まとめ買いが多いのが特徴です。

関連記事

温泉の入り方

伝えたいこと 備忘録 旅行

温泉の入り方とマナーが分かりやすい

温泉の入り方やマナーを日本人であれば概ね分かっていると思います。 ですが、外国人の観光客の方などは温泉や湯船に浸かるという入浴方法などの文化がない国もあります。 なので、温泉への入り方やマナー自体が分・・・続きを読む

カーナビテレビが見れなくなったICカードが正常に動作しませんでした

メンテナンス 伝えたいこと 備忘録

ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法

本日ではなく昨日になってしまいますが、 それまでカーナビで地デジ対応のナビで突然エンジンをかけなおしたら・・・・・・。 「ICカードが正常に動作しませんでした。販売店にお問い合わせください。」 なんて・・・続きを読む

画像にマウスオーバーした時にゆっくり透過させる方法

WordPress カスタマイズ 伝えたいこと 備忘録

画像にリンクがある場合にCSSだけでゆっくりと透過させる方法

リンクが付いたテキストや画像にマウスを乗せた時(マウスオーバー時)に、 いろんなアニメーショや何かしらの効果があると…。 なんだかカッコいいサイトになった気分になりますよね。 そこで今回は、WordP・・・続きを読む

Yahoo!20周年特別サイト

PC 伝えたいこと 備忘録 時事ネタ

Yahoo!20周年特別サイト開設

インターネットの入り口でもあるポータルサイトで、有名なYahoo!が今年4月1日に20周年を迎えました。 目次1 20年前と言えばWindows95が発売されて、パソコンが注目を浴びて同時にインターネ・・・続きを読む

目次に戻る

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



この記事が良かったら
いいね!お願いします(#^.^#)

WordPressデビュー津々浦々の
最新情報をお届けします

言えないことはTwitterで!!



  • この記事を書いた人
  • 最新記事

izumi

プロフィールページ詳細

はじめまして、izumiの旦那です。医療ミスにより長胸神経麻痺になってしまい若干の障害がありブログをさせていただいています。共同運営(しばらくは単独になると思います。)になりつつありますがよろしくお願いいたします。

Follow Me !

Copyright© WordPressデビュー津々浦々 , 2019 All Rights Reserved Powered by AFFINGER5.