Kumpulan WordPress Code Snippets

Kumpulan WordPress Code Snippets
Pada postingan ini Cyber Learning akan berbagi kumpulan wordpress code snippets dimana kegunaan script ini mampu melakukan tweak pada wordpress self-hosted tanpa bantuan plugin.

Anda hanya perlu menempatkan code-code atau script dibawah ini ke bagian functions.php tema wordpress yang Anda gunakan, dan pastikan untuk melakukan 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.

// Hapus Versi dari Scripts dan Stylesheets
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.

// Nonaktifkan Emoji Untuk Mempercepat Load
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).

// 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

Code 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 URL Pencarian Jadi SEO Frindly

Code ini akan merubah URL pencarian default wordpress ?s= menjadi /search/ dan membuat URL lebih sederhana juga SEO frindly.

// Ubah URL Pencarian Jadi 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.

// Ubah Sparator Title
function wpcs_change_wp_title_separator( $title, $sep ) {
// Sparator Baru
$sep = '-';
// Set new title with 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.

// 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. Ubah Logo Login

Sesuai dengan namanya, code ini berfungsi untuk mengubah logo pada halaman login wordpress Anda.

// Ubah Logo 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 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.

// Membatasi Jumlah Kata Title Post
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.

// 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. 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.

// Jadikan Mode HTML Sebagai Default Post Editor
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.

<?php
// 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.

// Membuat 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 Artikel Diperbarui

Code ini akan menampilkan waku artikel diperbarui/update. Tempatkan code ini pada bagian single.php tema Anda.

<? php the_time( 'F jS, Y' ); ?>
<?php
// 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.

// Menampilkan Konten Hanya Untuk User Login
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.

// Shortcode
[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.

// Mengaktifkan Maintenance Mode
function btwp_maintenace_mode() {
if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) {
die('Site em Manutenção.');
}
}
add_action('get_header', 'btwp_maintenace_mode');

 

17. Hapus Admin Bar

Kode ini akan menghapus admin bar yang tidak diperlukan pada halaman dasbor.

// 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. Membuat Minimal Kata Untuk Komentar

Code ini mengharuskan pengirim komentar menuliskan komentarnya dengan minimal kata (defaultnya 20 kata).

// Membuat 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 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.

// 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 default postingan sebelum-sebelumnya.

// 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 berubah ukuran/original.

// 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 gitu-gitu aja? Pakai 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.

// 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

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

PENTING: Code ini khusus bagi Anda yang sudah memahami wordpress dan tahu fungsi serta kegunaan wp-content.


// Ubah Lokasi wp-content
define ('WP_CONTENT_FOLDERNAME', 'folderbaru');
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/lokasibaru/folderbaru' );
define( 'WP_CONTENT_URL', 'http://www.domainanda.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.

// Arahkan User Ke URL Custom Setelah Registrasi
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.

// Arahkan User Ke Beranda Setelah Logout
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.

// Arahkan User Ke Halaman Custom Setelah Logout
add_action('wp_logout','auto_redirect_external_after_logout');
function auto_redirect_external_after_logout(){
wp_redirect( 'https://www.domainanda.com/lokasi-halaman' );
exit();
}

 

27. Buka Semua Link Di Tab Baru

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

// Buka Semua Link 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 User Kecuali Admin

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

// Nonaktifkan Admin Bar Untuk 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).

// Menampilkan Link 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. Memberitahu Author Jika Postingan Diterbitkan

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

// Memberitahu Author Jika Postingan 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');


Diatas adalah kumpulan wordpress code snippets yang bisa Anda terapkan untuk tweak wordpress self-hosted. Kami akan terus menambahkannya lagi siring waktu, jadi silahkan bookmark artikel ini jika Anda memerlukannya dikemudian hari.


Belum ada Komentar untuk "Kumpulan WordPress Code Snippets"

Posting Komentar