Kumpulan WordPress Code Snippets

WordPress Code Snippets

WordPress Code Snippets adalah kode singkat yang mampu melakukan perubahan pada fitur (penambahan, pengurangan, penggantian, dll) tanpa menggunakan plugin.

Dengan code snippets, Anda hanya perlu menambahkan code yang diperlukan ke functions.php atau single.php tema wordpress yang Anda gunakan.

 

INFO: Pastikan untuk melakukan backup wordpress Anda terlebih dahulu sebelum melakukan tweaking dengan code snippets.

 

Berikut ini kumpulan wordpress code snippets yang bisa di implementasikan ke situs web atau blog Anda.
 

1. Hapus Query String CSS dan JS

Script dibawah ini akan menghapus query string versi yang ada pada Javascript dan CSS wordpress Anda, misalnya .css?ver=3.4.5 maka setelah script ini diterapkan menjadi ?ver=3.4.5.

// Hapus Query String CSS dan JS
function wcs_remove_script_styles_version( $src ){
return remove_query_arg( ‘ver’, $src );
}
add_filter( ‘script_loader_src’, ‘wcs_remove_script_styles_version’ );
add_filter( ‘style_loader_src’, ‘wcs_remove_script_styles_version’ );

 

2. Nonaktifkan Emoji

Menonaktifkan atau disable emoji default wordpress adalah salah satu cara mempercepat load halaman.

// Nonaktifkan Emoji
function wpcs_remove_emojicons() {

// Nonaktifkan emoji dari Feed and RSS
remove_filter( ‘the_content_feed’, ‘wp_staticize_emoji’ );
remove_filter( ‘comment_text_rss’, ‘wp_staticize_emoji’ );

// Nonaktifkan emoji dari Emails
remove_filter( ‘wp_mail’, ‘wp_staticize_emoji_for_email’ );

// Nonaktifkan emoji dari Head Tag
remove_action( ‘wp_head’, ‘print_emoji_detection_script’, 7 );

// Nonaktifkan emoji dari Styling
remove_action( ‘wp_print_styles’, ‘print_emoji_styles’ );

// Nonaktifkan emoji dari Dasbor Admin
remove_action( ‘admin_print_scripts’, ‘print_emoji_detection_script’ );
remove_action( ‘admin_print_styles’, ‘print_emoji_styles’ );
}
add_action( ‘init’, ‘wpcs_remove_emojicons’ );

 

3. Menyembunyikan Halaman dari Pencarian

Script ini akan menyembunyikan semua halaman dari pencarian wordpress (misalnya: Privacy Policy, Terms of Service, Disclaimer, About, Contact, dll).

// Menyembunyikan Halaman dari Pencarian
function wcs_search_from_posts( $query ) {
if ( $query->is_search && !is_admin() ) {
$query->set( ‘post_type’, ‘post’ );
}
return $query;
}
add_filter( ‘pre_get_posts’, ‘wcs_search_from_posts’ );

 

4. Hapus Meta Tag Generator WordPress

Script ini untuk menghapus meta tag generator yang dibuat oleh wordpress secara default.

// Hapus Meta Tag Generator WordPress
function wcs_remove_generator_tag() {
return ”;
}
add_filter( ‘the_generator’, ‘wcs_remove_generator_tag’ );

 

5. Ubah Permalink Pencarian

Script ini akan merubah URL pencarian default wordpress yang defaultnya ?s= menjadi /search/ yang membuat permalink lebih sederhana dan SEO frindly.

// Ubah URL Pencarian
function wpcs_search_url_rewrite_rule() {
if ( is_search() && !empty( $_GET[‘s’] ) ) {
wp_redirect( home_url( ‘/search/’ ) . urlencode( get_query_var( ‘s’ ) ) );
exit();
}
}
add_action( ‘template_redirect’, ‘wpcs_search_url_rewrite_rule’ );

 

6. Ubah Sparator Title

Script ini dapat Anda gunakan jika ingin mengganti sparator atau pemisah judul post/halaman dengan title blog.

PS: Jangan gunakan script ini apabila Anda sudah menggunakan Plugin SEO seperti Yoast, All-in-One SEO, atau lainnya yang sudah dilengkapi fitur serupa dengan script ini.

// Ubah Sparator Title
function wpcs_change_wp_title_separator( $title, $sep ) {
// Sparator Baru
$sep = ‘-‘;

// Tetapkan judul baru dengan pemisah
$title = str_replace( ‘|’, $sep, $title );

return $title;
}
add_filter( ‘wp_title’, ‘wpcs_change_wp_title_separator’, 10, 2 );

 

7. Membuat Link Share Tanpa Plugin

Kebanyakan plugin social share yang ada di direktori wordpress menggunakan javascript yang membuat load halaman lebih berat. Jika Anda merasa tidak ingin menggunakan plugin, Anda bisa membuatnya secara manual dengan script dibawah ini.

Letakkan script ini di single.php tema Anda.

// Membuat Link Share Tanpa Plugin
<p class="center">
<a href="http://twitter.com/intent/tweet/?text=<?php echo esc_html( get_the_title() ); ?>&url=<?php echo esc_url( get_the_permalink() ); ?>" class="twitter" target="_blank">Twitter</a>
<a href="http://www.facebook.com/sharer/sharer.php?u=<?php echo esc_url( get_the_permalink() ); ?>" class="facebook" target="_blank">Facebook</a>
<a href="http://plus.google.com/share?url=<?php echo esc_url( get_the_permalink() ); ?>" class="gplus" target="_blank" >Share on Google+</a>
<a href="http://www.linkedin.com/shareArticle?mini=true&url=<?php echo esc_url( get_the_permalink() ); ?>&title=<?php echo esc_html( get_the_title() ); ?>" class="linkedin" target="_blank" >LinkedIn</a>
</p>

 

8. Ganti Logo di Halaman Login

Sesuai dengan namanya, script ini berfungsi untuk mengganti gambar logo di halaman login wordpress Anda.

// Ganti Logo di Halaman Login
function wcs_custom_login_page_logo() {
echo ‘<style type="text/css">
#header-logo {
background-image: url(‘ . get_bloginfo( ‘template_directory’ ) . ‘/images/admin-logo.png) !important;
}
</style>’;
}
add_action( ‘admin_head’, ‘wcs_custom_login_page_logo’ );

 

9. Membatasi Jumlah Kata di Judul Artikel

Apabila Anda tidak ingin membuat judul postingan yang panjang, Anda bisa menggunakan code ini untuk membatasi jumlah kata pada judul postingan.

// Membatasi Jumlah Kata di Judul Artikel
function wcs_limit_word_count_in_post_title( $title ) {
return wp_trim_words( $title, 10, ” );
}
add_filter( ‘the_title’, ‘wcs_limit_word_count_in_post_title’ );

 

10. Membedakan CSS Komentar Admin

Secara default wordpress tidak memberikan perbedaan komentar antara admin dan guest/user, namun jika Anda ingin membedakan CSS-nya, Anda dapat menggunakan script dibawah ini.

// Membedakan CSS Komentar Admin
.commentlist .bypostauthor, .commentlist li ul.children li.bypostauthor {
background: #FFC;
color: #C30;
}
.commentlist .bypostauthor a, .commentlist li ul.children li.bypostauthor a {
color: #C30;
}

 

11. Mode HTML Sebagai Default

Bagi Anda yang sudah terbiasa dengan mode HTML saat menulis posting, Anda bisa menggunakan script ini untuk menjadikannya default.

// Mode HTML Sebagai Default
function wcs_default_WordPress_editor() {
return “html”;
}
add_filter( ‘wp_default_editor’, ‘wcs_default_WordPress_editor’ );

 

12. Membuat Posting Terkait Tanpa Plugin

Jika tema wordpress yang Anda gunakan belum mendukung fitur Related Post atau posting terkait, Anda bisa membuatnya sendiri dengan mnambahkan script ini ke functions.php tema Anda.

<?php
// Membuat Posting Terkait Tanpa Plugin
$tags = wp_get_post_tags( $post->ID );
if ( $tags ) {
$first_tag = $tags[0]->term_id;
$args = array(
‘tag__in’ => array( $first_tag ),
‘post__not_in’ => array( $post->ID ),
‘posts_per_page’ => 5,
‘ignore_sticky_posts’ => 1
);
$related_posts = new WP_Query( $args );
// Loop
if ( $related_posts->have_posts() ) :
while ( $related_posts->have_posts() ) : $related_posts->the_post();
get_template_part( ‘content’, get_post_format() );
endwhile;
else :
get_template_part( ‘content’, ‘none’ );
endif;
wp_reset_postdata();
}
?>

 

13. Minimal Kata Untuk Postingan

Jika blog Anda memiliki banyak penulis, Anda tentu memerlukan code snippets ini untuk menghindari spam. Code ini membuat user yang menulis harus memiliki jumlah kata minimal sesuai dengan pengaturan code snippets (defaultnya 500 kata/words).

Ini merupakan code snippets yang menarik karena hanya penulis yang konsisten saja yang dapat menyelesaikan tulisannya dengan jumlah kata yang banyak.

// Minimal Kata Untuk Postingan
function wcs_min_word_count( $content ) {
global $post;
$wordcount = 500;
$content = $post->post_content;
if ( str_word_count( $content ) < $wordcount )
wp_die( __( ‘Kesalahan: posting Anda di bawah jumlah kata minimum. Postingan harus memiliki setidaknya ‘ . $wordcount . ‘ kata.’ ) );
}
add_action( ‘publish_post’, ‘wcs_min_word_count’ );

 

14. Menampilkan Waktu Revisi di Artikel

Script ini akan menampilkan waku revisi artikel/update. Tempatkan script ini dibagian atas single.php tema Anda.

<? php the_time( ‘F jS, Y’ ); ?>
<?php
// Menampilkan Waktu Revisi di Artikel
$modified_time = get_the_time( ‘U’ );
$new_modified_time = get_the_modified_time( ‘U’ );
if ( $new_modified_time != $modified_time ) {
echo " dan terakhir diubah pada ";
the_modified_time( ‘F jS, Y’ );
echo ".";
}
?>

 

15. Menampilkan Konten Hanya Untuk Anggota

Code ini akan mengunci konten dan konten hanya dapat dilihat oleh anggota/user yang sudah login.

// Menampilkan Konten Hanya Untuk Anggota
function wcs_content_loggedin( $atts, $content = null ) {
if( is_user_logged_in() ) return ‘<p>’ . $content . ‘</p>’;
else return;
}
add_shortcode( ‘loggedin’, ‘wcs_content_loggedin’ );

Dibawah ini adalah kode pemanggil (shortcode) yang harus Anda masukkan pada postingan/konten yang ingin disembunyikan dari pengunjung/guest.

// Shortcode
[loggedin]
Konten ini hanya untuk pengguna yang masuk.
[/loggedin]

 

16. Mengaktifkan Maintenance Mode

Jika situs web atau blog Anda masih dalam tahap pembuatan atau dalam perbaikan, code ini wajib diterapkan untuk membuat wordpress Anda berstatus maintenance bagi pengunjung yang tidak login.

// Mengaktifkan Maintenance Mode
function btwp_maintenace_mode() {
if ( !current_user_can( ‘edit_themes’ ) || !is_user_logged_in() ) {
die(‘Situs web dalam Pemeliharaan.’);
}
}
add_action(‘get_header’, ‘btwp_maintenace_mode’);

 

17. Menghapus Admin Bar

Script ini akan menghapus admin bar yang tidak diperlukan di halaman dasbor wordpress.

// Hapus Admin Bar
function example_admin_bar_remove_logo() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu( ‘wp-logo’ );
}
add_action( ‘wp_before_admin_bar_render’, ‘example_admin_bar_remove_logo’, 0 );

 

18. Minimal Kata Untuk Komentar

Script ini mengharuskan komentator menuliskan komentarnya dengan minimal kata tertentu (defaultnya 20 kata/words).

// Minimal Kata Untuk Komentar
add_filter( ‘preprocess_comment’, ‘minimal_comment_length’ );
function minimal_comment_length( $commentdata ) {
$minimalCommentLength = 20;
if ( strlen( trim( $commentdata[‘comment_content’] ) ) < $minimalCommentLength ){
wp_die( ‘Untuk berkomentar setidaknya ‘ . $minimalCommentLength . ‘ kata.’ );
}
return $commentdata;
}

 

19. Membuat Link Login dan Logout di Navigasi

Script ini untuk membuat link login dan logout di menu navigasi.

// Membuat Link Login dan Logout di Navigasi
add_filter( ‘wp_nav_menu_items’, ‘add_logout_link’, 10, 2);
function add_logout_link( $items, $args )
{
if($args->theme_location == ‘primary_navigation’)
{
if(is_user_logged_in())
{
$items .= ‘<li><a href="’. wp_logout_url() .’">Log Out</a></li>’;
} else {
$items .= ‘<li><a href="’. wp_login_url() .’">Log In</a></li>’;
}
}
return $items;
}

 

20. Membuat CSS Berbeda pada Posting Terbaru

Code ini untuk membuat CSS yang berbeda pada postingan terbaru (highlight) agar berbeda dari CSS defaultnya.

// Membuat CSS Berbeda pada Posting Terbaru
function wpc_last_post_class($classes){
global $wp_query;
if(($wp_query->current_post+1) == $wp_query->post_count) $classes[] = ‘last’;
return $classes;
}
add_filter(‘post_class’, ‘wpc_last_post_class’);

 

21. Nonaktifkan Auto Resize Gambar

Code ini akan menonaktifkan fitur auto resize image yang defaultnya aktif di wordpress. Setelah code ini diterapkan, semua gambar yang Anda upload ke wordpress tidak akan dirubah ukurannya. Sangat cocok bagi Anda yang menggunakan wordpress di web hosting dengan disk space yang terbatas.

// Nonaktifkan Auto Resize Gambar
function wpc_unset_imagesizes($sizes){
unset( $sizes[‘thumbnail’]);
unset( $sizes[‘medium’]);
unset( $sizes[‘large’]);
}
add_filter(‘intermediate_image_sizes_advanced’, ‘wpc_unset_imagesizes’ );

 

22. Ubah Default Gambar Gravatar

Bosan dengan gambar gravatar yang itu-itu aja? Gunakan code ini untuk merubahnya.

// Ubah Default Gambar Gravatar
function wpc_newgravatar ($avatar_defaults) {
$myavatar = get_template_directory_uri() . ‘/images/custom-gravatar.jpg’;
$avatar_defaults[$myavatar] = “Custom Avatar”;
return $avatar_defaults;
}
add_filter( ‘avatar_defaults’, ‘wpc_newgravatar ‘ )

 

23. Ubah Teks Pos Jadi Artikel

Code ini akan merubah nama link Pos menjadi Artikel pada dasbor wordpress.

// Ubah Teks Pos Jadi Artikel
function wpc_change_post_to_article( $translated ) {
$translated = str_ireplace(‘Pos’,’Artikel’,$translated );
return $translated;
}
add_filter(‘gettext’,’wpc_change_post_to_article’);
add_filter(‘ngettext’,’wpc_change_post_to_article’);

 

24. Ubah Lokasi wp-content

Script ini akan merubah folder /wp-content/ pada wordpress dan mengarahkannya ke folder yang telah Anda tentukan.

PENTING: WordPress code snippets ini khusus bagi Anda yang sudah memahami wordpress dan tahu fungsi serta kegunaan /wp-content/.

// Ubah Lokasi wp-content
define (‘WP_CONTENT_FOLDERNAME’, ‘folder-baru’);
define( ‘WP_CONTENT_DIR’, dirname(__FILE__) . ‘/lokasi-baru/folder-baru’ );
define( ‘WP_CONTENT_URL’, ‘http://www.domain.com/lokasi-baru/folder-baru’ );

 

25. Arahkan Anggota ke Halaman Khusus Setelah Registrasi

Jika blog Anda mengijikan semua orang untuk mendaftar, Anda bisa menggunakan code ini agar pengunjung yang baru saja mendaftar diarahkan ke halaman tertentu (misalnya: halaman selamat datang atau halaman peraturan).

// Arahkan User ke Halaman Khusus Setelah Registrasi
function wcs_registration_redirect() {
return home_url( ‘/halaman-yang-dituju’ );
}
add_filter( ‘registration_redirect’, ‘wcs_registration_redirect’ );

 

26. Arahkan Anggota ke Halaman Khusus Setelah Logout

Code ini akan membuat semua anggota yang logout dari situs diarahkan ke beranda.

// Arahkan Anggota ke Halaman Khusus Setelah Logout
add_action(‘wp_logout’,’auto_redirect_after_logout’);
function auto_redirect_after_logout(){
wp_safe_redirect( home_url() );
exit();
}

 

27. Buka Link Eksternal di Tab Baru

Code ini akan otomatis membuat atribut _blank pada semua link eksternal di wordpress Anda.

// Buka Link Eksternal di Tab Baru
<script type="text/javascript">
//<![CDATA[
jQuery(document).ready(function($) {
$(‘a’).each(function() {
var a = new RegExp(‘/’ + window.location.host + ‘/’);
if(!a.test(this.href)) {
$(this).click(function(event) {
event.preventDefault();
event.stopPropagation();
window.open(this.href, ‘_blank’);
});
}
});
});
//]]>
</script>

 

28. Nonaktifkan Admin Bar Untuk Anggota

Code ini akan menyembunyikan admin bar dari semua user, kecuali administrator.

// Nonaktifkan Admin Bar Untuk Anggota
if ( !current_user_can( ‘manage_options’ ) ) {
add_filter( ‘show_admin_bar’, ‘__return_false’ );
}

 

29. Menampilkan Semua Pengaturan WordPress

Script ini akan menampilkan semua pengaturan wordpress dalam satu halaman (link hanya tersedia untuk admin).

// Menampilkan Semua Pengaturan WordPress
function wcs_add_all_options_link() {
add_options_page( __(‘All Options’), __(‘All Options’), ‘administrator’, ‘options.php’ );
}
add_action( ‘admin_menu’, ‘wcs_add_all_options_link’ );

 

30. Notif ke Penulis Setelah Posting Diterbitkan

Script ini dibuat agar penulis/author wordpress Anda menerima notifikasi jika postingan yang mereka tulis telah diterbitkan.

// Notif ke Penulis Setelah Posting Diterbitkan
function wpc_send_author_email_when_published($post_id){
// dapatkan ID penulis posting
$post_author_id = get_post_field( ‘post_author’, $post_id );
// dapatkan alamat email dari bidang meta pos menggunakan post_author_id
$email_address = get_the_author_meta(‘user_email’, $post_author_id);
$subject = ‘Postingan Anda telah diterbitkan.’;
$body = ‘Terima kasih atas kiriman Anda!’;
wp_mail($email_address, $subject, $body,);
}
add_action(‘publish_post’,’wpc_send_author_email_when_published’);

 

31. Menyembunyikan Wiget Dasbor Admin

Script snippets ini berfungsi untuk menyembunyikan atau menghapus seluruh widget di halaman dasbor seperti draft cepat, kesehatan situs, berita wordpress, dll.

// Menyembunyikan Wiget Dasbor Admin
function wpdocs_remove_dashboard_widgets(){
remove_meta_box(‘dashboard_right_now’, ‘dashboard’, ‘normal’);
remove_meta_box(‘dashboard_recent_comments’, ‘dashboard’, ‘normal’);
remove_meta_box(‘dashboard_incoming_links’, ‘dashboard’, ‘normal’);
remove_meta_box(‘dashboard_plugins’, ‘dashboard’, ‘normal’);
remove_meta_box(‘dashboard_quick_press’, ‘dashboard’, ‘side’);
remove_meta_box(‘dashboard_recent_drafts’, ‘dashboard’, ‘side’);
remove_meta_box(‘dashboard_primary’, ‘dashboard’, ‘side’);
remove_meta_box(‘dashboard_secondary’, ‘dashboard’, ‘side’);
}

 

32. Menyembunyikan Widget Bantuan

Script ini mampu menyembunyikan atau menghapus widget Bantuan di dasbor wordpress.

// Menyembunyikan Widget Bantuan
add_filter(‘contextual_help_list’,’contextual_help_list_remove’);
function contextual_help_list_remove(){
global $current_screen;
$current_screen->remove_help_tabs();
}

 

33. Menyembunyikan Widget Yoast SEO

Yoast SEO memiliki widget yang secara otomatis muncul di halaman awal dasbor admin wordpress bernama Yoast SEO Posts Overview. Jika Anda tidak menginginkan widget tersebut muncul, gunakan script dibawah ini.

// Menyembunyikan Widget Yoast SEO
add_action(‘wp_dashboard_setup’, ‘remove_wpseo_dashboard_overview’ );
function remove_wpseo_dashboard_overview() {
remove_meta_box( ‘wpseo-dashboard-overview’, ‘dashboard’, ‘side’ );
}

 

34. Menghapus Logo dan Ubah Bahasa pada Halaman Login

Jika Anda ingin halaman login wordpress Anda bersih dan sederhana, gunakan script ini untuk menghapus logo dan ubah bahasa di halaman masuk/login maupun signup/pendaftaran.

// Menghapus Logo dan Ubah Bahasa pada Halaman Login
function custom_login_logo() {
echo ‘<style type ="text/css">.login h1 a { display:none!important; }</style>’;
}

add_action(‘login_head’, ‘custom_login_logo’);
add_filter( ‘login_display_language_dropdown’, ‘__return_false’ );

add_action(‘wp_dashboard_setup’, ‘wpdocs_remove_dashboard_widgets’);

 

Nah diatas kumpulan wordpress code snippets yang bisa Anda terapkan untuk tweaking wordpress. Seiring waktu saya akan menambahkannya lebih banyak lagi. Silahkan simpan postingan ini jika Anda memerlukannya dikemudian hari.
 


Berikan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *