Làm thế nào để loại bỏ những người đọc khác đọc thêm liên kết trên mạng từ đoạn trích loại bài đăng tùy chỉnh


7

Có cách nào để tôi có thể thêm một số loại pre_get_posts()bộ lọc để loại bỏ liên kết "đọc thêm" xuất hiện ở cuối the_excerpt()chỉ với 1 loại bài đăng tùy chỉnh nhất định mà tôi chỉ định không?

Nếu vậy, ai đó có thể vui lòng giúp tôi với mã? Tôi đã làm việc ở đó một thời gian nhưng không đi đến đâu. Mọi sự trợ giúp sẽ rất được trân trọng. Cảm ơn!


Nếu bạn muốn một giải pháp nhanh chóng và dễ dàng, bạn luôn có thể hiển thị: không có liên kết read_more nào trên CPT cụ thể đó
Jonathan

Cảm ơn, tôi đã nghĩ về điều đó. Nhưng tôi muốn loại bỏ hoàn toàn liên kết nếu có thể để Google không theo dõi và lưu trữ các trang cụ thể này.
Evster

Câu trả lời cho câu hỏi này là chủ đề cụ thể và không cụ thể đối với WordPress vì các chủ đề khác nhau bao gồm các mã khác nhau để thêm liên kết đọc thêm codex.wordpress.org/iêu
Brad Dalton

Câu trả lời:


4

Đặt mã sau vào functions.phpđể hiển thị "đọc thêm" trên tất cả các loại bài trừ custom_post_type.

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');


1

Một giải pháp dễ dàng là đặt mã sau vào bên trong style.css:

 a.read-more {
    display:none;
 }

Mục tiêu này <a class="read-more">


Nên được đánh dấu là câu trả lời đúng, bởi vì phương thức không cung cấp tham số để ghi đè lên nó.
sGambolati

0

Cái này thì sao? Về cơ bản, đó là một cách để tùy chỉnh văn bản bằng cách thêm chức năng gọi lại vào tệp tin.php. Tôi đang nghĩ, tuy nhiên, nếu bạn chỉ trả lại một khoảng trắng, thì nó sẽ ghi đè lên nó và không hiển thị bất cứ thứ gì.

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

Tôi đã nhận được điều này từ codex Wordpress

Biên tập:

Điều này chưa được kiểm tra, nhưng nếu bạn làm điều này:

// 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');

Để nhắc lại, tôi đã không kiểm tra điều này, nhưng có thể giúp bạn đi đúng hướng (ví dụ var_dump ($ post) để xem làm thế nào bạn có thể uốn cong nó theo ý muốn của mình từ bên trong hàm new_excerpt_more.


Tôi nghĩ rằng bạn đang đi đúng hướng, nhưng việc dán mã chính xác đó vào tệp tin.php của tôi thực sự phá vỡ toàn bộ trang web. Ngoài ra, tôi sẽ cần chức năng để chỉ lấy các bài đăng từ loại bài đăng tùy chỉnh của 'nhân viên'.
Evster

Cảm ơn đã giúp đỡ! Vẫn còn một số loại lỗi trong cú pháp làm mất toàn bộ trang web và tải một trang trống. Tôi sẽ xem nếu tôi có thể tìm ra nó. Logic của bạn về điều này dường như âm thanh.
Evster

Bạn cần trả về $morekết thúc của chức năng nếu không tất cả các loại bài đăng khác sẽ bỏ lỡ nhiều thẻ / văn bản hơn.
Sisir
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.