web-dev-qa-db-ja.com

ホームページに(各投稿から)最初のXワードだけを表示するにはどうすればいいですか?

サイトのホームページに投稿の最初のX(たとえば300)語だけが表示されるようにするにはどうすればよいですか。

しかし、 "more"タグや手書きの抜粋を使わずに? WP 2.9以降のプラグイン/ハックを探しています。

私はこれまでにいくつかの解決策に出くわしましたが、お勧めの解決策を望んでいます。

課題これまでに十字架についた。

  • (たとえば)タグがWord 295で始まり、Word 301の後で終わる場合はどうなりますか?
  • ホームページ、タグページ、カテゴリページなどに異なるXを付けることは可能でしょうか。
  • テキストのフォーマットは保持できますか? (すべての画像とテキストのフォーマット)?
  • プラグインにサーバーからのリコースの量を最小限にさせる。
1
Tal Galili

ホームページのワード数を変更するのは簡単です。

if( is_home() )
  add_filter( 'excerpt_length', create_function( '', 'return 300;' ) );

そのコードを複製し、条件付きチェックを変更してこれを他のページに追加するだけです。もう1つの方法は、テンプレートページにコードを挿入するだけで(home.phptag.phpなど)、正しいページに設定されます。

抜粋がない場合、the_excerpt()を使用すると、コンテンツからショートコードとHTMLが自動的に削除されます。これらのフィルタを削除することはできますが、マークアップをミックスに追加するときにWordのカウントを行うのははるかに難しくなります。フォーマット/テキスト/画像を保存したい場合は、それがmoreタグの目的です。手動で挿入されるのは、その中断が起こるべきすべてのインスタンスで自動的に把握するのは困難だからです。

3
John P Bloch

そのためにはWordPress用の豪華な抜粋プラグインを使用して、それを少し修正することができます。それはスタイルを維持し、ワードカウントをします。あなたは、あなたのワードカウントを持つためにこれを少し修正する必要があるだけでなく、もしあなたが省略記号も同様に結末を修正するのを好まないならば。

1
hakre

コンテンツの最初の300語だけが必要な場合は、簡単に入手できます。

wp_trim_words( $post->post_content, 300, '');
0
Geza Gog