WordPress

Cara Menghapus Shortcode Tak Terpakai di dalam Posting WordPress

membuang shortcode tidak terpakai di dalam konten

Bagi pengguna WordPress, pasti cukup banyak menggunakan plugin untuk menambah fitur-fitur blog yang dibutuhkan. Dan dari sekian banyak plugin yang digunakan tersebut, pasti ada di antaranya yang mengharuskan Anda menambahkan shortcode di dalam laman atau pos.

Dengan shortcode, itu adalah cara yang bagus dan praktis guna menambahkan fasilitas tertentu di blog. Sayangnya, ketika Anda menghapus plugin, atau menghapus suatu fungsi, shortcode yang telah ditambahkan ke dalam laman atau pos, tidak ikut terhapus.

Dan hal ini benar-benar pernah saya alami saat pernah sekali waktu menghapus sebuah plugin, padahal shortcode bawaannya telah saya tempatkan di banyak halaman. Ini jelas merupakan hal yang sangat buruk di mata pengunjung, karena shortcode tidak dieksekusi dan tampil ‘apa adanya’, seperti gambar di bawah ini:

menghapus shortcode

Lalu bagaimana cara menghapusnya? Haruskah saya edit posting satu per satu? Itu jelas sangat melelahkan (dan menyebalkan tentunya).

Setelah saya pelajari, ternyata ada solusi mudah untuk mengatasi hal ini. Dan berikut beberapa cara yang bisa Anda lakukan untuk menghapus shortcode yang tidak terpakai lagi:

1. Menghapus shortcode dari database

Jika Anda tahu persis shortcode yang hendak dihapus, dan juga Anda ingin menghapusnya secara permanen dari database, maka Anda bisa menjalankan perintah SQL seperti berikut:

UPDATE wp_post SET post_content = REPLACE(post_content, '[namashortcode]', '' ) ;

Ganti namashortcode dengan kode shortcode yang hendak Anda hapus.

Cara ini tidak akan berhasil bila Anda tidak tahu persis shortcode yang ingin dihapus. Dan karena berbagai shortcode juga memiliki banyak atribut dan parameter, agak sulit bagi Anda mengetahui secara persis shortcode yang telah ditempatkan di dalam konten.

2. Menghapus shortcode tak terpakai dari konten (tanpa menghapusnya dari database)

Saya lebih menyarankan cara kedua ini. Apalagi jika Anda telah menempatkan banyak shortcode dan tidak tahu pasti shortcode apa saja yang sudah terpakai lagi.

Tambahkan kode berikut pada file function.php di folder tema Anda, persis sebelum kode ?>.

add_filter('the_content', 'pu_hapus_shortcode');
function pu_hapus_shortcode($content) { 
 $pattern = pu_cari_shortcode_regex();
 $content = preg_replace_callback( '/'. $pattern .'/s', 'strip_shortcode_tag', $content );
 return $content; 
}
 
function pu_cari_shortcode_regex() {
 global $shortcode_tags;
 $tagnames = array_keys($shortcode_tags);
 $tagregexp = join( '|', array_map('preg_quote', $tagnames) );
 $regex = '\\[(\\[?)';
 $regex .= "(?!$tagregexp)";
 $regex .= '\\b([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*+(?:\\[(?!\\/\\2\\])[^\\[]*+)*+)\\[\\/\\2\\])?)(\\]?)';
 return $regex; 
}

Yang dilakukan kode di atas adalah, pertama akan mencari semua shortcode aktif. Kemudian mencari shortcode yang ada di dalam konten yang tidak sama dengan daftar shortcode aktif, lalu membuangnya agar tidak ditampilkan.

Cara kedua ini lebih efektif, karena ia tidak menghapus shortcode secara permanen dari database. Sehingga jika suatu saat Anda mengaktifkan kembali plugin terkait, maka shortcode kembali akan bekerja seperti semula.

Itulah 2 cara mudah bagaimana Anda dapat menghapus shortcode tidak terpakai di dalam konten. Terserah Anda untuk menggunakan cara yang mana. Semoga dapat membantu, dan jika ada pertanyaan, silakan manfaatkan kolom komentar.

Salam.

Tentang penulis

Gee Jhon

Gee Jhon

Seorang yang suka belajar, senang berbagi dan gemar berdiskusi. Full time kerja online menjadi freelancer desain grafis, Youtuber serta mengelola beberapa blog.

Tulis komentar

2 Komentar

%d blogger menyukai ini: