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のREST APIを使って最新記事を取得・表示させる

2017年06月14日 WordPressphp
1.WP REST APIプラグインをインストール 管理画面から「WordPress REST API」プラグインをインストールし、有効化します。 これで http://◯◯◯.com/wp-json/wp/v2/posts にアクセスすれば、記事の情報がjson形式で表示されます。 WordPress REST API jsonを取得・表示させる [php]&l…
「WordPressのREST APIを使って最新記事を取得・表示させる」をはてなブックマークに追加

レスポンシブ対応 画像メニューをテキスト表示に切り替える

2014年11月15日 web関連HTML5・CSS3
レスポンシブなサイトを作るときに、大きな画面では画像メニュー、スマホなどのサイズでは、テキストメニューにして、メニューボタンに格納したい場合など、画像メニューからテキストメニューにCSSで表示切り替えする方法。 cssの:before attr属性で解決 html [php]<ul id="nav"> <li><a data-tex…
「レスポンシブ対応 画像メニューをテキスト表示に切り替える」をはてなブックマークに追加

WordPress IE8だけ動かないプラグインの解決方法

2011年06月15日 WordPress
あるサイトで、Meteor Slides というプラグインを使っていますが、IE8だけ画像は表示されますが、スライドされず、画像が切り替わりません。 どうしたもんかと調べていると、簡単な解決策が見つかりました。 動作確認済です。…
「WordPress IE8だけ動かないプラグインの解決方法」をはてなブックマークに追加

何かうまくいかなかったようです。変更が保存されていないかもしれません。

2020年02月05日 WordPress
WordPressのテーマを編集中に以下のエラーが出て保存出来ない場合に考えられる対処法のメモ。 何かうまくいかなかったようです。変更が保存されていないかもしれません。手動で修正し、FTP 経由でファイルをアップロードすることもできます。 考えられる可能性 編集中のファイル内に何らかのエラーが含まれている可能性 いずれかのWPプラグインの影響 WAF設定の影響 …
「何かうまくいかなかったようです。変更が保存されていないかもしれません。」をはてなブックマークに追加

TwitterのプロフィールウィジェットのデザインをCSSで調整する

2012年02月07日 web関連twitter API
ツイッターのプロフィールウィジェットを入れているサイトで、CSSでデザインしていたら、h3やh4の設定がTwitterのウィジェットにまで反映されて、困ることが時々あります。(私は・・・) 今回はそれを直したかったので、調べて見ました。 Twitterのウィジェット 当サイトでは、Twitterが提供しているコードをそのまま設置していますが、以下のようなコードです。 [php] <s…
「TwitterのプロフィールウィジェットのデザインをCSSで調整する」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy