web-dev-qa-db-ja.com

カスタム投稿タイプの抜粋から「続きを読む」リンクを削除する方法

私が指定した1つのカスタム投稿タイプについてのみ、pre_get_posts()の最後に表示される「続きを読む」リンクを削除するために、何らかのthe_excerpt()フィルタを追加する方法はありますか。

もしそうなら、誰かがコードを手伝ってくれる?私はしばらくそれに取り組んできましたが、どこにも得られていません。任意の助けは大歓迎です。ありがとうございます。

5
Evster

次のコードをfunctions.phpに追加して、custom_post_type以外のすべての投稿タイプで "read more"を表示します。

function excerpt_read_more_link($output) {
  global $post;
  if ($post->post_type != 'custom_post_type')
  {
    $output .= '<p><a href="'. get_permalink($post->ID) . '">read more</a></p>';  
  }
  return $output;
}
add_filter('the_excerpt', 'excerpt_read_more_link');

WP Theme Tech: カスタム投稿タイプの抜粋から「続きを読む」リンクを削除する方法

3
Geoffrey Hale

簡単な解決策は、以下のコードをstyle.css内に入れることです。

 a.read-more {
    display:none;
 }

これは<a class="read-more">をターゲットにしています

0
Andreas Wittig

これはどうですか?基本的には、functions.phpファイルにコールバック関数を追加することによってテキストをカスタマイズする方法です。ただし、代わりにスペースを返す場合は、をオーバーライドして何も表示しないようにする必要があります)。

// Replaces the excerpt "more" text by a link
function new_excerpt_more($more) {
   global $post;
   return ' ';
}
add_filter('excerpt_more', 'new_excerpt_more');

私はこれを The Wordpress codex から得ました

編集する

これはテストされていませんが、これを行うとどうなりますか。

// Replaces the excerpt "more" text by a link
function new_excerpt_more($more) {
   global $post;
   if ($post->post_type == 'your-cpt')
   {
      return "&nbsp;";
   }
}
add_filter('excerpt_more', 'new_excerpt_more');

繰り返しますが、私はこれをテストしていませんが、new_excerpt_more関数の中からどのようにしてそれをあなたの意思に合わせることができるかを確かめるためにあなたを正しい軌道に乗せることができるかもしれません。

0
Jonathan