この記事は2016年2月18日のものです。現在は状況が異なる可能性がありますのでご注意ください。
目次に行く・戻る
メルカリ招待コード: 招待コードをコピー
先日、 WordPressにおいてブログカード (内部リンク用)を作成するショートコードのphp関数コードを紹介しました。
https://infovarious.com/post-852/
上記ですが、 上記の記事のコードですとリンク先(内部リンク)の記事が同じタブで表示されてしまうので、 せっかく訪れてくれた方々がブログカードをクリックするとその記事が見れなくてってしまいます。
それではその記事が見たくてアクセスしてくれたのに、 クリックした瞬間に違う記事(URL)になってしまうので新規タブで開くようにコードを若干改変しました。
アドセンス336pxPC閲覧記事下表示1つ目コード
+これまでによく読まれている記事一覧クリックでOPEN+
150,536件の PV
106,579件の PV
75,739件の PV
67,237件の PV
44,118件の PV
40,649件の PV
38,216件の PV
37,258件の PV
36,589件の PV
33,270件の PV
ブログカード(内部リンク)を新規タブで開くようにコードは以下です。
/*部リンク本文抜粋を取得する関数(綺麗な抜粋文を作成するため*/
/*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(" ","",$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>';
上記の黄色の部分を変更しました。
せっかく来ていただいた方が、 該当記事を見失わないように新規タブで開くようにしてあります。
以上、 参考になれば幸いです。
あなたにおすすめな関連記事 おすすめの記事一部広告 Total267
アドセンス336pxPC閲覧記事下表示1つ目コード
目次に戻る
-Stinger6 , Stinger7 , WordPress , カスタマイズ , 備忘録 -WordPress , ブログカード , プラグインなし , 作成方法
目次に戻る
目次に戻る
Opt-out complete; your visits to this website will not be recorded by the Web Analytics tool. Note that if you clear your cookies, delete the opt-out cookie, or if you change computers or Web browsers, you will need to perform the opt-out procedure again.
You may choose to prevent this website from aggregating and analyzing the actions you take here. Doing so will protect your privacy, but will also prevent the owner from learning from your actions and creating a better experience for you and other users.
This opt out feature requires JavaScript.
The tracking opt-out feature requires cookies to be enabled.
[…] プラグインなしでブログカードを新規タブで開く方法とコード 先日、 WordPressにおいてブログカード(内部リンク用)を作成するショートコードのphp関数コードを紹介しました。 https://infovarious.com/2016-02-18 02:35 // […]