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
21 Replies to “Cara mudah redirect header PHP query WordPress”
om jev mau tanya klu yg di rubah url post/attachment…
om jev mau tanya klu yg di rubah url post/attachment bisa tidak ya?? semisal (-) jadi (+ atau _) atau sebaliknya..
mksh
kalau misalnya gini om jevuska amat.com/search/isi mau ganti tulisan “search”nya…
kalau misalnya gini om jevuska
amat.com/search/isi
mau ganti tulisan “search”nya gimna ?
sebelumnya makasih mas jevuska atas ilmu2 yang luar biasa di…
sebelumnya makasih mas jevuska atas ilmu2 yang luar biasa di site ini.. :D
saya mw bertanya kalo pengen membuat url search jadi spt ini :
example.com/ke/keyword-pencarian.html
gmn yah mas ??
terima kasih :)
Di sini topiknya redirect url, mungkin mas bisa jelaskan lebih…
Di sini topiknya redirect url, mungkin mas bisa jelaskan lebih lengkap isunya seperti apa.
Mas Jev, Setelah saya tambahin script itu di function.php kok…
Mas Jev,
Setelah saya tambahin script itu di function.php kok malah jadi gini ya kalo di search manual(di kolom search)
domainku.com/search/.htmlkeyword+keyword+keyword.html
Itu ekstensi <code>.html</code> nya dari mana mas? Script ini khusus…
Itu ekstensi
.html
nya dari mana mas? Script ini khusus yang tidak pakai ekstensi karena ini untuk url search default WP.Kalo sewaktu dulu masih edit di rewrite.php, saya tambahin %search%.html…
Kalo sewaktu dulu masih edit di rewrite.php, saya tambahin %search%.html default nya kan %search%.
Trs di function.php yang skrng saya tambahin $wp_rewrite->search_structure = $wp_rewrite->search_base . ‘/%search%.html’;
Kalo di search manual di kolom search malah keluarnya kayak gitu. keluar simbol “+” juga
Ini udah terlanjur ke index dengan permalink /%postname%.html. Solusi nya gmn mas?
Ini sama juga mas seperti itu. Pastinya tidak direkomendasikan lagi…
Ini sama juga mas seperti itu. Pastinya tidak direkomendasikan lagi mengutak-atik file core WordPress. Update ke versi yang terbaru. Untuk menambahkan extensi.
Ubah function
jv_change_search_base_wp
dan function
jv_template_redirect
Udah berhasil mas Jev, tapi kok masih keluar tanda ‘+’…
Udah berhasil mas Jev, tapi kok masih keluar tanda ‘+’ ya?
ex : domain.com/search/keyword+keyword+keyword.html
Iya mas, itu memang untuk struktur url yang pakai tanda…
Iya mas, itu memang untuk struktur url yang pakai tanda plus. Jika menggunakan tanda minus, agak mirip dengan cara me-redirect halaman 404, ada tambahan 2 function
jv_parse_request
danjv_remove_char
, dan kita ubah encode search query di functionjv_template_redirect
. Jadinya seperti ini:Berhasil mas jev. Makasih ya Jevuska JOSSSSS!!!!!
Berhasil mas jev. Makasih ya
Jevuska JOSSSSS!!!!!
Pemain AGK ya om Agung Bledek :D
Pemain AGK ya om Agung Bledek :D
bagaimana jika ingin merubah menjadi youtube.com/topic-word1-word2-word3.html tidak ada slash setelah…
bagaimana jika ingin merubah menjadi
youtube.com/topic-word1-word2-word3.html
tidak ada slash setelah topic
thanks om..hanya ini yang work sejauh ini setelah update terus…
thanks om..hanya ini yang work sejauh ini setelah update terus dari WP..
yup… btw code updated
yup… btw code updated
untuk wp 4.4 udah gak jalan lagi ya om
untuk wp 4.4 udah gak jalan lagi ya om
masih jalan… ( maaf mas.. asli telat reply ini )
masih jalan… ( maaf mas.. asli telat reply ini )
scriptnya gak bisa di copy
scriptnya gak bisa di copy
Double click the code please.
Double click the code please.
ini berarti intinya sama ya bisa juga merubah permalink search…
ini berarti intinya sama ya bisa juga merubah permalink search wp ?
yup
yup