2014年08月25日 web関連WordPressphp

WordPressの抜粋表示(excerpt)を以下のように動作させたかったので、自作してみました。

  1. 抜粋があれば抜粋表示
  2. moreタグがあれば、それに従う
  3. 指定文字数より本文文字数が少なければ、そのまま表示
  4. 指定文字数より本文文字数が多ければ抜粋表示

コード

functions.phpにコピペ。

<?php
//WordPress抜粋表示の変更
/****
1.抜粋があれば抜粋表示
2.moreタグがあれば、それに従う
3.$lengthより文字が少なければ、そのまま表示
4.$lengthより文字が多ければ抜粋表示
****/
function set_excerpt( $length=200 ){
	global $post;
	//抜粋が入力されていれば、抜粋表示($length無効)
	if(has_excerpt()) {
		$content = strip_tags(get_the_excerpt());
		$content = $content . '…'.'<div class="more"><a href="'.get_permalink().'" class="btn btn-default btn-md"><span class="glyphicon glyphicon-ok"></span> この記事の続きを読む</a></div>';
	//moreタグがある場合
	//}elseif(preg_match('/<!--more(.*?)?-->/u', $post->post_content, $matches)){
	}elseif(strpos($post->post_content,'<!--more')){
		global $more; $more = 0;
		$content = strip_tags(get_the_content(''));
		$content = $content . '…'.'<div class="more"><a href="'.get_permalink().'" class="btn btn-default btn-md"><span class="glyphicon glyphicon-ok"></span> この記事の続きを読む</a></div>';
	//本文の文字数が$lengthより少ない場合は全文表示
	}elseif(mb_strlen( $post -> post_content) <= $length){
			$content = strip_tags(get_the_content());
	}else{
		 $content = mb_substr( strip_tags( $post -> post_content ), 0, $length );
		 $content = $content . '…'.'<div class="more"><a href="'.get_permalink().'" class="btn btn-default btn-md"><span class="glyphicon glyphicon-ok"></span> この記事の続きを読む</a></div>';
	}	
		 return $content;
}

?>

使用方法

テーマファイルの本文の抜粋を表示させたいにset_excerpt();

この投稿へのコメント

コメントはまだありません。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA


ピックアップ記事

safariでowl carouselのスライド時にフォントが細くなる現象の解決策

2015年03月19日 web関連jQuery・javascript
レスポンシブ対応でとても重宝しているowlカルーセルですが、safariでは、スライド時に、フォントが細くなったり、太くなったりして、点滅するような現象が起こっていました。 iOSのchromeでも同じ現象が起こるらしいのですが、未確認。 …
「safariでowl carouselのスライド時にフォントが細くなる現象の解決策」をはてなブックマークに追加

simplexml_load_fileでRSSを取得・表示させる

2012年02月11日 zencartphp
simplexml_load_fileとは simplexml_load_fileは、PHP5から利用可能になった関数で、XMLをパースしてオブジェクトに代入します。 今回は、オープンソースのECサイト構築システム「ZenCart」に外部ブログ(WordPress)のRSSを表示させてみました。 設置コード [php] <?php $rss = "http://apr20…
「simplexml_load_fileでRSSを取得・表示させる」をはてなブックマークに追加

WordPressのテーマをウィジェットに対応させる

2013年10月06日 web関連WordPressphp
WordPressのテーマをウィジェットに対応させる
Wordpressで自作のテーマを作った場合などは、自分でウィジェットを利用可能にしない限り、ウィジェットは利用出来ません。このサイトのテーマは自作なのですが、今までウィジェットは使う機会がなかったので、未対応のままになっていました(:_;) 今回は、サイドにWordPress Popular Postsプラグインの人気記事一覧を表示させたかったので、調べてみましたよっ!ってことで、ウィジェ…
「WordPressのテーマをウィジェットに対応させる」をはてなブックマークに追加

現在のURLを取得し、エンコードして、facebook いいね 、mixi いいね に渡す

2011年07月25日 php
facebook いいね 、mixi いいね を利用する際に渡すURLはエンコードしたものしかダメなので、現在のURLを取得し、それをurlencodeしてからfacebookやmixiのいいねボタンに設定します。 …
「現在のURLを取得し、エンコードして、facebook いいね 、mixi いいね に渡す」をはてなブックマークに追加

wordpress me から3.13にアップグレードする

2011年06月03日 WordPressphp
準備 まず、この辺を参考にバックアップをします。 プラグインも全部無効にします。 新しいWordPressをアップロード FTPで、サーバ上のWPディレクトリ内のwp-contents以外を全て新しいバージョンのものに入れ替えます。新しいバージョンのwp-contents以外を全てアップロード。 基本的にデータベースはそのまま使うので、ほとんど触りません。 新しいWPのwp-config.php…
「wordpress me から3.13にアップグレードする」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy