Hapus lebih banyak atau [...] teks dari pos pendek

8

Saya menggunakan tema yang memiliki batas karakter untuk pos pendek dan menunjukkan [...] di akhir batas karakter.

Saya ingin menghapus ini, jadi saya mencari the_excerpt();dan mengganti denganthe_content();

Masalahnya diselesaikan dengan konten normal tetapi masih memiliki masalah dengan jenis posting gambar dan ada <?php the_excerpt(); ?>bahwa ketika saya mengubah ini tindakan shortpost saya seperti posting penuh dan itu tidak terkait dengan panjang posting.

Saya mencoba membuka semua file PHP dalam tema dan mencari kata-kata kunci seperti: limit, panjang, kutipan untuk menemukan di mana kode yang menentukan panjang shortpost bahkan mencari "[...]" di semua file dan bahasa, tetapi saya tidak tahu dari mana asalnya.

Tapi yang saya temukan hanyalah beberapa baris kode function.php

if ( ! function_exists( 'string_limit_words' ) ) :
function string_limit_words($str, $limit = 18 , $need_end = false) {
    $words = explode(' ', $str, ($limit + 1));
    if(count($words) > $limit) {
        array_pop($words);
        array_push($words,'...');
    }
    return implode(' ', $words);
}
endif;

Dan ketika saya meningkatkan 18 tidak ada perubahan!

Kode apa yang harus saya cari?

Arioman
sumber

Jawaban:

19

Kodeks adalah teman Anda dan harus menjadi perhentian pertama Anda :-)

Itu [...]ditambahkan oleh the_excerpt(). Ada filter yang disediakan yang disebut excerpt_morefilter yang secara khusus disertakan untuk mengkustomisasi teks lebih banyak baca setelah kutipan

Untuk menghapus [...]teks setelah kutipan, Anda dapat melakukan hal berikut

function new_excerpt_more( $more ) {
    return '';
}
add_filter('excerpt_more', 'new_excerpt_more');
Pieter Goosen
sumber
terima kasih atas balasan kode Anda berfungsi dengan baik untuk menghapus [...], tetapi tetap saja pos pintas terbatas dan kata dipotong setelah beberapa karakter saya ingin bertindak normal (semuanya sebelum membaca lebih lanjut tunjukkan tag pada posting pendek saya)
Arioman
Pertanyaan lain hanya untuk penasaran, bagaimana saya bisa mengubah [...] ke beberapa hal lain misalnya [lebih ...]
Arioman
Anda harus membaca posting ini . Saya telah membahas tentang segala sesuatu di pos itu. Semoga bisa membantu :-). Ingatlah untuk menerima jawaban saya jika itu membantu menyelesaikan masalah Anda.
Pieter Goosen
ini sepertinya hanya menghapus tautan read more. The [...]masih ada.
Jules
3

Seperti yang telah ditunjukkan orang lain, menggunakan excerpt_morekait saringan adalah cara yang tepat untuk melakukannya.

Hanya ingin menambahkan bahwa Anda tidak harus menulis fungsi yang mengembalikan string kosong. WordPress memiliki beberapa fungsi bawaan untuk mengembalikan true, false, zero, null, string kosong atau array kosong.

Dalam hal ini kita perlu __return_empty_string ()

Anda dapat menambahkan kode ini ke plugin Anda atau ke functions.php tema Anda:

<?php 
// This will add a filter on `excerpt_more` that returns an empty string.
add_filter( 'excerpt_more', '__return_empty_string' ); 
?>
Baras
sumber
1

itu bekerja untuk saya!

function change_excerpt( $text )
{
    $pos = strrpos( $text, '[');
    if ($pos === false)
    {
        return $text;
    }

    return rtrim (substr($text, 0, $pos) );
}
add_filter('get_the_excerpt', 'change_excerpt');
HAROONMIND
sumber
0

Anda harus menambahkan ini ke functions.php

    function custom_excerpt_more( $more ) {
    return '';//you can change this to whatever you want
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );

Selain itu, menggunakan the_excerptmemiliki keuntungan yang secara otomatis membersihkan konten, dan menghapus semua gambar, dan tag HTML lainnya.

Anda dapat membaca lebih lanjut di sini

Jika Anda juga ingin memodifikasi panjang kutipan, Anda dapat menambahkan potongan ini ke functions.php:

function custom_excerpt_length( $length ) {
    return 20;//change the number for the length you want
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

Anda dapat membaca lebih lanjut tentang ini di sini

Tomás Cot
sumber
Versi mana yang Anda targetkan, yaitu pra 2.9 :-)
Pieter Goosen
@PieterGoosen, saya kira yang salah.
Tomás Cot
kode Anda bekerja dengan baik dengan mengubah panjang tetapi ketika saya menghapus [...] itu akan menjadi jelek ketika bagian dari paragraf terlihat hilang itu akan bagus jika entah bagaimana mendeteksi paragraf yang panjang !! // masalah lain dengan kutipan adalah tentang kode pendek, saya tidak bisa memasukkan pemutar video atau
tampilan
@Arioman, Anda dapat mengubah [...] dengan tautan yang mengatakan "Terus membaca", atau apa pun yang Anda inginkan. Sekarang, jika Anda ingin memiliki kode pendek yang berfungsi, the_excerptbukan apa yang Anda cari, Anda harus menambahkannya ke pertanyaan, karena jawabannya akan berubah.
Tomás Cot
@ TomásCot terima kasih untuk panduan fantastis ini. saya meletakkan semua kode (kode lengkap) di function.php saya dan menghapus $ wpse_excerpt = strip_tags ($ wpse_excerpt, wpse_allowedtags ()); untuk menerima semua tag, saya menggunakan pemutar video streaming untuk menyisipkan video dan menghasilkan kode pendek seperti: [stream flv = http: //****/clip/shad.m4v embed = share salah = lebar palsu = 640 tinggi = 360 dermaga = true controlbar = over bandwidth = autostart tinggi = false responsif = 16: 9 /] tetapi saya masih mendapatkan teks: * Video: video saya bukannya menunjukkan pemutar video saya di shortpost di mana masalah saya ??
Arioman
0

Cobalah untuk membuat fungsi baru di functions.php:

function custom_excerpt() {
 $text=preg_replace( "/\\[&hellip;\\]/",'place here whatever you want to replace',get_the_excerpt());
echo '<p>'.$text.'</p>';
}

Kemudian gunakan fungsi baru di halaman Anda.

JaZ
sumber
0

'excerpt_more' adalah pengait WordPress. Ini mengembalikan kutipan konten. Untuk menghapus [...] setelah teks kutipan, Anda dapat kembali kosong seperti di bawah ini atau persyaratan khusus Anda. Gunakan kode ini di function.php

function custom_excerpt_more( $excerpt ) {
    return '';
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );
Tariqul_Islam
sumber