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


ピックアップ記事

WordPressのWP-PageNaviが動かない場合の対処法

2012年02月04日 WordPress
WP-PageNaviは、WordPressでページングを可能にしてくれるプラグインですが、以下のように「query_posts」を指定していると、正常に動かないようです。 WP-PageNaviが正常に動かない例 [php]<?php if ( have_posts() ) : query_posts('cat=1&showposts=5' ); ?> [/php] 上記…
「WordPressのWP-PageNaviが動かない場合の対処法」をはてなブックマークに追加

WordPress 投稿画像のアップロード時にサイズを指定

2011年05月26日 WordPress
Resize At Upload を使うことで、アップロード時にサイズを指定することが可能になります。 具体的には、iPhoneなどからの画像をそのままアップすると最大サイズで投稿され、フルサイズの画像が大きすぎるという時などに便利です。 もともと、サムネイルは投稿に挿入する際にサイズ指定できますが、クリックされた後のフルサイズは、管理画面から画像をトリミングするなどしなければ、思いどおりのサ…
「WordPress 投稿画像のアップロード時にサイズを指定」をはてなブックマークに追加

Twitter API の利用回数制限を確認する

2011年07月29日 web関連twitter API
Twitter API (GET送信のみ?) には利用回数上限があります。Twitter APIを利用してサービスを作る際に、試行錯誤していると、いつの間にかAPIの利用回数上限にひっかかってしまいます。利用回数上限にひっかかると,一定時間(およそ1時間らしいです)そのアカウントまたはそのIPアドレスからアクセスできなくなります。 …
「Twitter API の利用回数制限を確認する」をはてなブックマークに追加

簡単なWordPressの投稿初期化方法とWP全体の初期化方法

2014年08月21日 web関連WordPress
簡単なWordPressの投稿初期化方法とWP全体の初期化方法
WordPressのテーマやプラグインのカスタマイズなどをしていると動作確認の目的でテスト投稿(記事、固定ページ)をすることがあります。私の場合は、テストが完了したら、テスト投稿を全て削除してまっさらなWPでスタートしたいと思うのですが、管理画面から投稿を削除しても記事IDは初期化されません。 WPのテーマやプラグイン、カテゴリ、WP設定などはそのままで投稿のみを初期化する方法と、サーバ上のファ…
「簡単なWordPressの投稿初期化方法とWP全体の初期化方法」をはてなブックマークに追加

flac を mp3 に変換するソフト

2011年06月03日 web関連
無料の変換ソフトがあったので、それで変換しました。操作は簡単。 ソフトはこのへん。 参考サイト http://blog.livedoor.jp/geezdrty/archives/591568.html
「flac を mp3 に変換するソフト」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy