get_the_excerpt()だと取得できない、指定記事の抜粋。
$postに格納されている抜粋を取得してしまうので、記事IDを指定して取得したい場合は、多少めんどくさい事になります。
ピックアップ
指定記事のexcerpt(抜粋)を取得する
一番簡単なのは以下の方法。
1 2 3 4 5 6 7 8 |
function ltl_get_the_excerpt($post_id){ global $post; $post_bu = $post; $post = get_post($post_id); $output = get_the_excerpt(); $post = $post_bu; return $output; } |
これで、例えば記事ID150の抜粋を出力したければ、
1 |
<?php echo ltl_get_the_excerpt('150');?> |
こんな感じでしょうか。
これだけでもいいのだけど、さらに文字数の指定もあると便利です。
記事も文字数の指定も出来る様にしてみた
通常は、現在の$postのexcerptを取得して、指定時だけ指定した記事のexcerptを取得させるのと、文字数も指定できるような仕様にしましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function ltl_get_the_excerpt($post_id='', $length=120){ global $post; $post_bu = ''; if(!$post_id){ $post_id = get_the_ID(); } else { $post_bu = $post; $post = get_post($post_id); } $mojionly = strip_tags($post->post_content); if(mb_strlen($mojionly ) > $length) $t = '...'; $content = mb_substr($mojionly, 0, $length); $content .= $t; if($post_bu) $post = $post_bu; return $content; } |
これで、文字数も指定出来るし、記事も指定できる様になりました。
記事ID150の抜粋を80文字出力したければ以下の通り
1 |
<?php ltl_get_the_excerpt(150, 80); ?> |
デフォルトのまま使用した場合、『現在の記事』を『120』文字取得します。
- Facebook GraphAPI v2.9でいいね・シェア数をPHPで取得して表示 - 2017年9月7日
- phpstormのFilewatcherでautoprefixerを使う方法 - 2017年1月19日
- Custom Field Templateを使用してのプレビューを実装 - 2016年1月14日
- WordPress:WooCommerceを使ってみて分かったこと - 2013年7月5日
- 誰得なプラグイン Ultimate Google Analytics改をひっそりと公開します - 2013年6月4日
- プラグイン『WooCommerce Fields for Japan』を公開しました - 2013年4月21日
- 公式 WordPress.orgプラグインディレクトリでのプラグイン公開のススメ - 2013年4月17日
- WordPress:WooCommerceを日本仕様へと日本語化 - 2013年4月15日
- webクリエイター パソコンを買う。 - 2013年3月16日
- WordPress:『続きを読む』read moreをpタグで囲む - 2013年3月5日
Pingback: Wordpressのランダム記事をタイトルでなく、抜粋で実現するのでR – なるへそゴマのすけのなるへそな教室