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


ピックアップ記事

twitter API からプロフィール画像を取得・表示

2011年07月28日 web関連twitter API
twitter API からプロフィール画像を取得・表示する方法です。 リクエストURL [php]http://api.twitter.com/1/users/profile_image?screen_name=apr_20&size=bigger[/php] 画像として表示 [php]<img src="http://api.twitter.com/1/users/…
「twitter API からプロフィール画像を取得・表示」をはてなブックマークに追加

FireFoxのメニューバーを表示させる

2011年06月04日 web関連
Windowsで、FireFoxのメニューバーを非表示にしてしまうと、再表示させる方法が分かりづらいのでメモ。 解決方法 操作は簡単で、FireFoxを表示中に、「ALT」を押す! 以上です (´ー`) Macの場合は各アプリケーションのメニューは画面の一番上に表示されているので、メニューバーの表示、非表示はいつでも簡単に切り替えられます。…
「FireFoxのメニューバーを表示させる」をはてなブックマークに追加

WordPress のWP-DBManager プラグインで自動的にデータベースのバックアップ

2012年01月28日 WordPress
初期設定 まずは、WP-DBManagerをダウンロードし、プラグインフォルダに入れたら、管理画面上から有効化します。 すると管理画面のメニューに「Database」というメニューが追加されるので、その中の「Backup DB」を開きます。 そこに英語で「.htaccess」関係の警告が出てると思うので、指示の通りの場所にある「htaccess.txt」を「.htaccess」にリネームして…
「WordPress のWP-DBManager プラグインで自動的にデータベースのバックアップ」をはてなブックマークに追加

IE6,IE7,IE8のレイアウトなど、見た目をチェックするツール(Windowsのみ)

2012年02月09日 web関連
WEBサイト制作をしていると、IE6のような古いブラウザのチェックが必要な場合が多いですが、普段使っているPCには入っていないという場合も多いので、どうしたものかな〜〜とお困りの方も多い(最近はそうでもないのかな)のでは、ないでしょうか。 普段私は、IETesterやAdobeR BrowserLabなどのツールを使って確認することが多いのですが、動作がおかしかったり、重かったりで、いまいち、コ…
「IE6,IE7,IE8のレイアウトなど、見た目をチェックするツール(Windowsのみ)」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy