Cara mudah redirect header PHP query WordPress

Cara mudah redirect halaman blog WordPress bisa diterapkan di htaccess atau dengan function header PHP berikut.

About these ads

Cara mudah melakukan redirect halaman blog WordPress bisa diterapkan di htaccess atau dengan menggunakan function redirect header PHP berikut. Pasang di file functions.php theme Anda, and save it:

// change global search rules search page, paged and feed
add_action( 'init', 'jv_change_search_base_wp' );
function jv_change_search_base_wp()
{
    global $wp_rewrite;
	
	$search_base = 'topic'; // search_base
	
	if ( $wp_rewrite->search_base != $search_base )
	{
		$wp_rewrite->search_base      = $search_base;
		$wp_rewrite->search_structure = $wp_rewrite->search_base . '/%search%';
	}
	
    return $wp_rewrite;
}

// adding a new rule for empty search query
add_filter( 'search_rewrite_rules', 'jv_additional_search_rewrite_rules', 10, 1 );
function jv_additional_search_rewrite_rules( $rules )
{
	global $wp_rewrite;
	
	$new_rules = array(
        user_trailingslashit( $wp_rewrite->search_base ) . '?$' => 'index.php?s=' . $wp_rewrite->preg_index(1),
    );
	
    $rules = $rules + $new_rules;
	
    return $rules;
}

// flush_rules() if our rules are not yet included
add_action( 'wp_loaded', 'jv_flush_rules' );
function jv_flush_rules()
{
	global $wp_rewrite;
	
	$rules       = get_option( 'rewrite_rules' );
	$search_base = 'topic';  // search_base
	if ( ! isset( $rules[ $search_base . '/(.+)/?$'] ) )
	   	$wp_rewrite->flush_rules();
}

// redirect ?s= to search base
add_action( 'template_redirect', 'jv_template_redirect' );
function jv_template_redirect()
{
	global $wp_rewrite;
	
	if ( is_search() && isset ( $_GET['s'] )  )
	{
		$s         = sanitize_text_field( $_GET['s'] ); // or get_query_var( 's' )
		$location  = '/';
		$location .= trailingslashit( $wp_rewrite->search_base );
		$location .= ( ! empty ( $s ) ) ? user_trailingslashit( urlencode( $s ) ) : '';
		$location  = home_url( $location );
		wp_safe_redirect( $location, 301 );
		exit;
	}
}

Kode ini hanya untuk me-redirect url search default, dan khusus function wp_redirect bisa Anda terapkan pada berbagai parameter query atau redirect halaman tertentu. Semoga bermanfaat.

Update 30-03-2016
Fix flush rules
Tidak direkomendasikan untuk mengutak-atik core file WordPress


 Share
About these ads

Exclude admin di recent comments widget WordPress

Cara menghilangkan komentar administrator (exclude admin) di recent comments widget blog WordPress tanpa menggunakan plugin.

Bagaimana cara supaya administrator atau owner yang komentar di blognya sendiri tidak muncul (exclude) di recent comments widget blog WordPress?. Tanpa harus menggunakan plugin tambahan, Anda bisa memasang function berikut di file functions.php theme WordPress Anda.

add_filter('widget_comments_args', '_jv_filter_recent_comments_widget');

function _jv_filter_recent_comments_widget(){
	// get data from database table wp_options with option_name 'widget_recent-comments'
	$instance = array_shift(get_option('widget_recent-comments'));
	$number = absint($instance['number']);
	$args = array(
		'number' => $number,
		'status'  => 'approve',
		'post_status' => 'publish',
		'author__not_in' => 1, // '1' is user id of administrator/owner
        );
	return $args;
}

Save pekerjaan Anda and see the result.

Jadi, kecuali owner blog, para pengunjung lain yang komentar di blog Anda tetap ada di recent comments (komentar terbaru) widget.


 Share

Membuat parameter baru search query WordPress

Cara membuat custome search query atau paramater kueri baru di blog WordPress dengan mudah.

Parameter query search result WordPress basic-nya menggunakan "?s=", tapi bagaimana jika kita ingin membuat parameter baru lainnya berdasarkan hasil pencarian WordPress.

Misalnya, kita ingin membuat parameter query seperti ini (Demo):
https://www.jevuska.com/?p=list&q=injeksi+manual+keyword

Di file functions.php theme WordPress Anda, tambahkan kode function berikut:

function _jv_add_query_vars_filter( $vars ){

//create 'q' as query parameter
	$vars[] = "q";
	return $vars;

}
add_filter( 'query_vars', '_jv_add_query_vars_filter' );

function _jv_custom_search_query( $query ) {

//pre get post loop p and q parameter base on s parameter
    if ( isset( $_GET['p'] ) && sanitize_key( $_GET['p'] ) == "list" && get_query_var('q') != "") {
		$query->set('post_status', 'publish');
		$query->set('post_type', 'post');
		$query->set( 's', sanitize_text_field( $query->query_vars['q'] ) );

//add filter to wp_title base on q parameter
//WP 4.4 use 'document_title_parts'

		add_filter('wp_title',function(){
			$title = ucwords( get_search_query() );
			return $title;
		},10,2);
    };
	return $query;
}
add_filter( 'pre_get_posts', '_jv_custom_search_query');

//optional - add custome search form
function _jv_search_form( $form ) {
	$form = '<form role="search" method="get" id="searchform" class="searchform" action="' . home_url( '/' ) . '" >
	<div><label class="screen-reader-text" for="s">' . __( 'Search for:' ) . '</label>
	<input type="hidden" value="list" name="p"/>
	<input type="text" value="' . get_search_query() . '" name="q" id="s" />
	</div>
	</form>';
	return $form;
}

add_filter( 'get_search_form', '_jv_search_form' );

Function ini akan meng-generate post di halaman front page theme WP Anda (index.php atau home.php), jadi hasilnya akan sangat tergantung pada theme yang digunakan, juga plugin tambahan yang menfilter wp_title, contohnya plugin Yoast WordPress SEO.

PS: post ini adalah hasil request sobat blogger.

Update 04-02-2016:
Sanitize code.


 Bagikan

Injeksi Manual Keyword: Add-ons/extension plugin SEO SearchTerms Tagging 2

Nama pluginnya STT2 Extension Add Terms, silahkan download di repository github Jevuska, upload, install dan aktifkan.

Meskipun plugin SEO SearchTerms Tagging 2 ini sudah tidak pernah lagi di-update sejak tahun 2011, tetap saja masih banyak blogger yang masih menggunakannya, dengan tujuan untuk melipatgandakan trafik kunjungan ke situs, dan bagi yang hobi coding, tidak sedikit juga yang melakukan oprek kecil-kecilan terhadap plugin ini.

Berbicara tentang oprek, ini ada permintaan sobat blogger untuk ngoprek sedikit plugin ini agar ada fitur untuk injeksi manual keyword ke dalam database. Oprek ini tidak secara langsung saya terapkan ke dalam plugin STT2, akan tetapi melalui plugin tambahan (add-ons/extension) yang harus diinstall. Jadi, core plugin STT2 tidak terganggu sama sekali dan tidak ada yang perlu dioprek.

Nama pluginnya STT2 Extension Add Terms, silahkan download di repository github Jevuska https://github.com/Jevuska/stt2-extension-add-terms, lalu upload di WordPress Anda, install dan aktifkan.

STT2 Extension Add Terms plugin telah tersedia di WordPress.

Screenshot plugin

General Settings
General Settings
Manual Input Tool
Manual Input Tool
Widget STT2EXTAT
Widget STT2EXTAT

Script Feature

  • jQuery
  • jQuery UI
  • Ajax
  • Plugin Search Excerpt by Scott Yang
  • Google Suggest by haochi

STT2EXTAT v1.2

  • Setting admin plugin tersedia
  • Kata kunci bisa didapatkan melalui referrer
  • Kata kunci di tambahkan sebagai postmeta private _stt2extat dalam table database wp
  • Karakter kata kunci yang lebih baik
  • Pada wp_head, menyisipkan rel canonical jika ada pos di halaman pencarian dan meta no robots jika tidak ada
  • Tersedia shortcode
    [stt2extat]

    untuk menampilkan list terms.

  • Tersedia multiple widget untuk menampilkan list terms di sidebar.
  • Tersedia tool untuk migrasi search terms dari plugin STT2 terdahulu.
  • Disyaratkan menggunakan minimal WordPress 4.4 dan PHP 7.0.
  • Tersedia berbagai hook action atau filter untuk memodifikasi plugin ini, jadi core plugin tidak perlu diganggu.

Hook function

Hanya di halaman single post

add_filter( 'stt2extat_is_single', 'is_single' );

Menampilkan post count dengan menggantikan jumlah hits

add_filter( 'stt2extat_term_count', 'stt2extat_count_posts', 1, 2 );

Non aktifkan referer melalui wp_head

add_action( 'wp_head', 'stt2extat_add_meta_origin_referer' );

Khusus referer, terms yang tidak relevan dapat ditambahkan

remove_filter( 'stt2extat_ignore_relevant', '__return_false' );

Filter judul, khusus di halaman pencarian

add_filter( 'document_title_parts', 'stt2extat_search_page_title' );

Filter tanda pemisah antara judul halaman search dan judul situs ( separator)

add_filter( 'document_title_separator', 'stt2extat_search_page_title_separator' );

Filter untuk mengizinkan localhost sebagai referrer (for testing)

add_filter( 'stt2extat_allow_localhost', '__return_true' );

Fitur manual injeksi keyword ini akan tampil di area setting plugin STT2 langsung. Masih versi 1.0, mohon reportnya for any thing such as bugs, security, or vulnerability issue.

For Dev: Filters

stt2exat_excerpt_option( $args )
delete_terms_schedules( $schedules )
stt2extat_email_regexp( $regexp_email_pattern )
stt2extat_data( array $data )
stt2extat_sanitize( $array, $additional )
stt2extat_default_setting( array $data )
stt2extat_interval_hit_time ( $strtotime )
stt2extat_stopwords_filter_method( $func, $stopwords, $term )
stt2extat_sep_terms_list( $sep )
stt2extat_args_search_post_query( $args )
stt2extat_domain_regexp( $regexp_domain_pattern )
stt2extat_convert_case( $term_name )
stt2extat_post_type( array $post_type )
stt2extat_if_no_result( $query )
stt2extat_tag_cloud_args( $args )

Last but not least.. are*****7[at]g****.com thanks for your PP donate, I really appreciate it.

UPDATE: 23-04-2016

Download STT2EXTAT plugin v1.2 via WordPress
https://wordpress.org/plugins/stt2-extension-add-terms/

NOTE:
SEO SearchTerms Tagging 2 plugin not required any more and no longer supported by this plugin. Use the latest WP version (min 4.4), and upgrade your PHP server into PHP 7.0 ( twice as fast as PHP 5 ).

UNDEVELOPMENT VERSION:
STT2EXAT v1.1.5-undev – min PHP 5.4 – WP 4.4. Download via plugin Developers page
stt2-extension-add-terms.1.1.5-undev.zip


 Bagikan

Waktu Matinya Sel Telur (Ovum) Perempuan

Jika suhu tubuh basal pada fase ke-2 siklus menstruasi di bawah 37 derajat Celcius lalu naik lagi, apakah itu tanda ovum itu mati?.

Mitos suhu basal tubuh

Berbicara mengenai sel telur (ovum) pada perempuan, paling banyak dikaitkan dengan siklus mentruasi dan yang paling penting adalah kehamilan. Memahami proses bagaimana kehamilan terjadi dari dalam memberikan pemahaman yang berharga tentang bagaimana Anda dapat memperbaiki situasi sehingga Anda mendapatkan lebih dekat dengan tujuan Anda yaitu cepat hamil. Ada kepercayaan luas di kalangan perempuan yang mencoba untuk hamil, bahwa jika suhu tubuh basal pada fase ke-2 dari siklus menstruasi di bawah 37 derajat Celcius dan kemudian naik lagi, ini adalah tanda ovum itu mati. Faktanya bahwa itu tidak benar sama sekali, dan mungkin bisa dikatakan itu hanya sekedar mitos.

Berapa lama sel telur dapat hidup?

Mungkin ada beberapa kesalahpahaman lain tentang kapan sel telur mati, ada yang mengatakan terjadi pada hari ke-5 sampai ke-7 setelah ovulasi. Pada dasarnya, informasi ini tidak didukung oleh bukti ilmiah. Sebenarnya, sel telur telah siap konsepsi selama 24 jam setelah ovulasi. Jika pembuahan tidak terjadi dalam periode ini, sel telur akan melewati saluran tuba dan mati di dalam rahim, dan ini adalah proses yang benar-benar normal, dan terjadi setiap siklus ketika tidak jadi hamil, jadi matinya sel telur berlangsung dengan waktu yang sangat cepat, dan mungkin saja hanya dalam hitungan jam.

Kenaikan suhu basal tubuh pasca-ovulasi biasa terjadi pada hari ke-12 dan ke-14. Namun, terkadang perempuan mengira suhu tersebut adalah waktu kematian sel telur. Pada kenyataannya itu mungkin saja menjadi tanda telah terjadi implantasi dan telur dibuahi, yang merupakan tanda kehamilan awal. Implantasi terjadi dimana telur yang telah dibuahi menempel ke dinding rahim, terjadi pada hari 5-7 setelah ovulasi. Proses ini menyebabkan kenaikan estrogen dan suhu basal tubuh menjadi naik, tapi bukan kematian sel telur.

Penetrasi Sperma ke Ovum
Proses sperma melakukan penetrasi ke ovum. (Wikimedia)

Kekurangan progesteron dapat menyebabkan suhu basal tubuh menjadi tidak dinamis dengan perbedaan suhu kurang dari 0,2 Celcius atau kenaikan suhu yang sangat lambat. Suhu yang turun hanya dalam 1-2 hari tidak bisa berarti juga adanya ketidakseimbangan hormon. Progesteron diproduksi oleh yellow body di ovarium dan sampai implantasi terjadi.

Kenapa implantasi bisa tidak terjadi?

Implantasi tidak terjadi artinya Anda tidak jadi hamil. Ada beberapa kasus ketika perempuan tidak memiliki gangguan hormonal dan masih tidak bisa hamil. Kadang-kadang implantasi tidak terjadi jika seorang perempuan memiliki masalah dengan endometrium, lapisan dinding rahim bagian dalam. Endometrium hanya dapat menerima telur yang telah dibuahi ketika sudah siap untuk memberikan kondisi yang optimal bagi perkembangan janin ke depan.

Oleh karena itu, seorang perempuan dapat saja memiliki grafik suhu tubuh basal sempurna tetapi memiliki masalah dengan konsepsi karena masalah endometrium, dan ini hanya dapat didiagnosis jika Anda mengkonsultasikannya dengan dokter kandungan Anda.

Para ginekolog percaya bahwa sekitar 30% dari seluruh kehamilan, berakhir selama tahap ini ketika perempuan bahkan tidak bisa menduga bahwa mereka hamil. Walaupun begitu ini bukanlah jumlah yang tepat, karena setiap diagnosa kehamilan yang dini yaitu 5-7 hari setelah pembuahan hampir tidak mungkin dilakukan.

Jadi bisa disimpulkan bahwa adanya kenaikan suhu basal tubuh bisa saja menjadikan Anda telah hamil, bukan waktu matinya sel telur.


 Bagikan

Memperbaiki kualitas & menghentikan kompresi gambar di Blogger

Cara memperbaiki kualitas sekaligus menghentikan kompresi gambar Anda di Blogger agar hasil upload di blog Anda sesuai dengan gambar asli.

Mungkin Anda pernah mengalami masalah kualitas gambar atau foto yang buruk setelah diupload di blog Blogger atau Blogspot, terutama gambar yang berisi grafis huruf atau sketsa, seperti lambang atau logo. Hal ini disebabkan gambar Anda telah dikompres (compression) sekian persen secara otomatis. Apakah ini sengaja dilakukan Blogger sebagai langkah untuk hemat bandwidth? entahlah.

Cara memperbaiki kualitas sekaligus menghentikan kompresi gambar Anda di Blogger tetap dapat dilakukan supaya hasil upload di blog Anda sesuai dengan kualitas gambar yang asli. Cara ini juga dilakukan untuk pengguna sosial media Google Plus yang tetap ingin mempertahankan keaslian gambar yang di-publish tanpa harus terkompres secara otomatis.

Berikut ini langkah yang harus dilakukan untuk solusi masalah kualitas gambar yang terkompresi di Blogger:

  1. Jika Anda memiliki akun di Blogspot, pastikan profile Blogger Anda terkoneksi dengan akun Google Plus, atau setidaknya akun Blogger Anda satu akun dengan Akun Google Plus.
  2. Pada akun Google Plus, di bagian Settings https://plus.google.com/settings, ubah pengaturan Auto Enhance menjadi Off (lihat gambar di bawah).

    Auto Enhance Off
    Auto Enhance Off
  3. Selesai dan silahkan upload ulang gambar yang ingin Anda posting.

Cara Lainnya
Cara lain yang dapat juga Anda lakukan jika tidak ingin mengkoneksikan akun Blogger dengan Google Plus, pastikan gambar yang Anda upload dalam format png, bukan jpg. Hanya saja kualitas gambar masih jelek karena tetap dalam keadaan kompresi, belum semaksimal seperti cara mengkoneksikannya dengan akun Google Plus Anda. Selamat mencoba upload dan lihat kualitas gambar yang dihasilkannya.


 Bagikan