- 1. Hapus Versi dari Scripts dan Stylesheets
- 2. Nonaktifkan Emoji Untuk Mempercepat Load
- 3. Menyembunyikan Halaman Dari Pencarian
- 4. Hapus Meta Tag Generator WordPress
- 5. Ubah URL Pencarian Jadi SEO Frindly
- 6. Ubah Sparator Title
- 7. Membuat Link Share Tanpa Plugin
- 8. Ubah Logo Login
- 9. Membatasi Jumlah Kata Title Post
- 10. Membedakan CSS Komentar Admin
- 11. Jadikan Mode HTML Sebagai Default Post Editor
- 12. Membuat Postingan Terkait Tanpa Plugin
- 13. Membuat Minimal Kata Untuk Postingan
- 14. Menampilkan Waktu Artikel Diperbarui
- 15. Menampilkan Konten Hanya Untuk User Login
- 16. Mengaktifkan Maintenance Mode
- 17. Hapus Admin Bar
- 18. Membuat Minimal Kata Untuk Komentar
- 19. Membuat Link Login dan Logout Di Navigasi
- 20. Membuat CSS Berbeda Pada Posting Terbaru
- 21. Nonaktifkan Auto Resize Gambar
- 22. Ubah Default Gambar Gravatar
- 23. Ubah Teks Pos Jadi Artikel
- 24. Ubah Lokasi wp-content
- 25. Arahkan User Ke URL Custom Setelah Registrasi
- 26. Arahkan User Ke Beranda Setelah Logout
- 27. Buka Semua Link Di Tab Baru
- 28. Nonaktifkan Admin Bar Untuk User Kecuali Admin
- 29. Menampilkan Link Semua Pengaturan WordPress
- 30. Memberitahu Author Jika Postingan Diterbitkan
Pada postingan ini Depok Cyber akan berbagi kumpulan wordpress code snippets dimana kegunaan scripts ini mampu melakukan tweak pada wordpress self-hosted tanpa plugin.
Anda hanya perlu menempatkan code-code ini dibagian functions.php tema wordpress yang Anda gunakan, dan pastikan untuk mem-backup tema terlebih dahulu sebelum melakukan tweak dengan code snippets ini.
Oke tidak perlu berbasa-basi, berikut ini kumpulan wordpress code snippets yang bisa Anda gunakan.
1. Hapus Versi dari Scripts dan Stylesheets
Code dibawah ini akan menghapus versi yang ada pada Javascript dan CSS pada source code wordpress Anda, misalnya .css?ver=3.4.5 maka akhiran ?ver=3.4.5 akan dihapus secara otomatis.
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 Untuk Mempercepat Load
Code ini berguna untuk menonaktifkan/disable emoji default wordpress agar load halaman Anda menjadi lebih cepat.
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
Kode ini akan menyembunyikan semua halaman dari pencarian wordpress (misalnya: Terms of Service, Privacy Policy, Disclaimer, etc).
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
Code ini untuk menghapus meta tag generator yang dibuat oleh wordpress secara default.
function wcs_remove_generator_tag() {
return ”;
}
add_filter( ‘the_generator’, ‘wcs_remove_generator_tag’ );
5. Ubah URL Pencarian Jadi SEO Frindly
Code ini akan merubah URL pencarian default wordpress ?s= menjadi /search/ dan membuat URL lebih sederhana juga SEO frindly.
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/pemisah judul post/halaman dengan title blog.
function wpcs_change_wp_title_separator( $title, $sep ) {
// Sparator Baru
$sep = ‘-‘;
// Title Baru dengan Separator
$title = str_replace( ‘|’, $sep, $title );
return $title;
}
add_filter( ‘wp_title’, ‘wpcs_change_wp_title_separator’, 10, 2 );
7. Membuat Link Share Tanpa Plugin
Jika Anda merasa tidak ingin membuat tombol social sharing dengan plugin, Anda dapat menggunakan code sederhana ini dan meletakkannya dibagian single.php tema Anda.
<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. Ubah Logo Login
Sesuai dengan namanya, code ini berfungsi untuk mengubah logo pada halaman login wordpress Anda.
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 Title Post
Apabila Anda tidak ingin membuat judul postingan yang panjang, Anda bisa menggunakan code ini untuk membatasi jumlah kata pada postingan. Code snippets ini cocok untuk blog wordpress yang memiliki banyak penulis.
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 user dan admin, namun jika Anda ingin merubah CSS khusus untuk komentar admin, Anda dapat menggunakan code dibawah ini.
.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. Jadikan Mode HTML Sebagai Default Post Editor
Bagi Anda yang sudah terbiasa dengan mode HTML pada saat menulis post, Anda bisa menggunakan code ini untuk membuatnya menjadi default.
function wcs_default_WordPress_editor() {
return “html”;
}
add_filter( ‘wp_default_editor’, ‘wcs_default_WordPress_editor’ );
12. Membuat Postingan Terkait Tanpa Plugin
Jika tema wordpress yang Anda gunakan belum mendukung fitur related, Anda bisa membuatnya sendiri dengan mnambahkan kode ini pada functions.php tema Anda.
// Membuat Postingan 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. Membuat Minimal Kata Untuk Postingan
Jika blog Anda memiliki banyak penulis atau mengijinkan semua orang untuk mendaftar dan menulis, 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).
Ini merupakan code snippets yang menarik karena hanya penulis yang konsisten saja yang dapat menyelesaikan tulisannya dengan jumlah kata yang banyak. Selain itu, efek terhadap SEO tentu akan semakin baik mengingat postingan selalu memiliki jumlah kata yang banyak.
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 Artikel Diperbarui
Code ini akan menampilkan waku artikel diperbarui/update. Tempatkan code ini pada bagian single.php tema Anda.
// Menampilkan Waktu Artikel Diperbarui
$modified_time = get_the_time( ‘U’ );
$new_modified_time = get_the_modified_time( ‘U’ );
if ( $new_modified_time != $modified_time ) {
echo " and last modified on ";
the_modified_time( ‘F jS, Y’ );
echo ".";
}
?>
15. Menampilkan Konten Hanya Untuk User Login
Code ini akan mengunci konten dan hanya dapat dilihat oleh user yang sudah login saja.
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 tidak login.
[loggedin]
Konten ini hanya untuk pengguna yang masuk.
[/loggedin]
16. Mengaktifkan Maintenance Mode
Apabila blog Anda masih dalam tahap pembuatan atau ingin melakukan perombakan besar, gunakan code ini untuk membuat wordpress Anda berstatus maintenance bagi pengunjung.
function btwp_maintenace_mode() {
if ( !current_user_can( ‘edit_themes’ ) || !is_user_logged_in() ) {
die(‘Situs dalam perbaikan.’);
}
}
add_action(‘get_header’, ‘btwp_maintenace_mode’);
17. Hapus Admin Bar
Kode ini akan menghapus admin bar yang tidak diperlukan pada halaman dasbor.
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. Membuat Minimal Kata Untuk Komentar
Code ini mengharuskan pengirim komentar menuliskan komentarnya dengan minimal kata (defaultnya 20 kata).
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 harus setidaknya ' . $minimalCommentLength . ' kata.' ); } return $commentdata; }
19. Membuat Link Login dan Logout Di Navigasi
Code ini untuk membuat link login dan logout pada menu 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 default postingan sebelum-sebelumnya.
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 berubah ukuran/original.
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 gitu-gitu aja? Pakai code ini untuk merubahnya.
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.
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
Kode ini akan merubah direktori/folder wp-content pada wordpress dan mengarahkannya ke folder yang telah Anda tentukan.
define (‘WP_CONTENT_FOLDERNAME’, ‘folderbaru’);
define( ‘WP_CONTENT_DIR’, dirname(__FILE__) . ‘/lokasibaru/folderbaru’ );
define( ‘WP_CONTENT_URL’, ‘http://www.DOMAIN-ANDA.com/lokasibaru/folderbaru’ );
25. Arahkan User Ke URL Custom Setelah Registrasi
Jika blog Anda mengijikan pengunjung untuk mendaftar, Anda bisa menggunakan code ini agar pengunjung diarahkan ke halaman tertentu (misalnya: halaman selamat datang atau halaman peraturan) setelah mendaftar.
function wcs_registration_redirect() {
return home_url( ‘/halaman-yang-dituju’ );
}
add_filter( ‘registration_redirect’, ‘wcs_registration_redirect’ );
26. Arahkan User Ke Beranda Setelah Logout
Code ini akan membuat semua user akan diarahkan ke beranda setelah berhasil logout/keluar dari wordpress.
add_action(‘wp_logout’,’auto_redirect_after_logout’);
function auto_redirect_after_logout(){
wp_safe_redirect( home_url() );
exit();
}
Sedangkan code dibawah ini untuk mengarahkan ke halaman tertentu setelah user berhasil login/masuk.
add_action(‘wp_logout’,’auto_redirect_external_after_logout’);
function auto_redirect_external_after_logout(){
wp_redirect( ‘https://www.DOMAIN-ANDA.com/lokasi-halaman’ );
exit();
}
27. Buka Semua Link Di Tab Baru
Code ini akan otomatis membuat atribut _blank pada semua link di wordpress Anda.
<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 User Kecuali Admin
Code ini akan menonaktifkan/menyembunyikan admin bar dari semua user, kecuali admin.
if ( !current_user_can( ‘manage_options’ ) ) {
add_filter( ‘show_admin_bar’, ‘__return_false’ );
}
29. Menampilkan Link Semua Pengaturan WordPress
Code ini akan menampilkan semua pengaturan wordpress dalam satu halaman (link hanya tersedia di dasbor admin).
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. Memberitahu Author Jika Postingan Diterbitkan
Code ini dibuat agar author/penulis blog wordpress Anda menerima notifikasi jika postingan yang mereka tulis telah diterbitkan.
function wpc_send_author_email_when_published($post_id){
// get the post’s author ID
$post_author_id = get_post_field( ‘post_author’, $post_id );
//get e-mail address from post meta field using our 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’);
Nah itulah kumpulan wordpress code snippets yang bisa Anda terapkan untuk tweak. Kami akan menambahkannya lagi siring waktu, jadi silahkan bookmark halaman ini jika Anda memerlukannya dikemudian hari.