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

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

Cara Mengembalikan SMS iPhone Dihapus atau ter-Delete

Cara mengembalikan SMS di iPhone yang dihapus atau ter-delete dengan menggunakan software backup dan recovery file handphone (HP).

SMS di iPhone yang dihapus atau di-delete sebenarnya tidak sepenuhnya terhapus dari handphone Anda. Jika dibahasakan itu hanya sekedar menandai bahwa SMS Anda telah terhapus, padahal sebenarnya tidak sama sekali. SMS Anda masih tersimpan sepenuhnya di iPhone Anda. Sama halnya dengan pengguna HP Blackberry dan mungkin berbagai smartphone lainnya. Adapaun cara mengembalikan SMS di iPhone yang dihapus baik itu disengaja atau tidak adalah sebagai berikut:

  1. Anda harus melakukan backup seluruh data iPhone Anda melalui iTunes, sehingga nantinya dapat disimpan di hardisk komputer Anda. Jika iCloud Anda telah aktif sebelumnya, Anda dapat melakukan restore dari situ, lalu back-up atau menyimpannya di hardisk Anda.
  2. Kemudian silahkan download software iPhone Backup Extractor. Dari berbagai software yang pernah saya coba, iphonebackupextractor.com buatan Reincubate adalah yang dapat saya rekomendasikan. Dari perangkat lunak ini, Anda dapat melakukan proses pengembalian semua data (recovery) yang telah di-backup menjadi beberapa file yang dapat dibaca langsung, baik itu SMS, foto atau gambar, aplikasi, daftar dan nomor kontak, ataupun lainnya. Untuk hasil ekstrak SMS akan tersimpan dalam bentuk file sms.db, yang mana file ini berisi semua database SMS Anda. Software ini berbayar dan Anda harus mengeluarkan sedikit biaya untuk itu. Tersedia versi trial-nya, akan tetapi tidak semua data dapat dikembalikan.
    iPhone Backup Extractor
    Software iPhone Backup Extractor (berbayar)
  3. Beberapa SMS yang mungkin terhapus tidak sepenuhnya dapat dikembalikan, akan tetapi Anda bisa menggunakan software Oxygen Forensic® SQLite Viewer dari www.oxygen-forensic.com/en/download/forensictools untuk menganalisa sms yang hilang atau di/ter-delete dari file sms.db. Dari situ akan terlihat semua data SMS yang dihapus. Software ini tersedia dalam bentuk trial untuk beberapa hari, selanjutnya adalah berbayar. Untuk software lainnya, yang dapat menganalisa data dari hasil extract file iPhone, Anda dapat menggunakan addon Firefox – SQLite Manager, dan tentunya ini gratis, tetapi tidak sebaik dengan kinerja software yang berbayar.
    Melihat Database SMS di SQLite Manager
    Melihat Database SMS di SQLite Manager

Persentase pengembalian data dengan menggunakan software ini sekitar 90-100% berhasil, data Anda yang hilang sebagian besar dapat dilakukan dengan menggunakan software ini.

Jika Anda tidak mampu mengikuti tutorial ini, tersedia jasa service dalam mengembalikan data-data HP yang hilang, terutama merek iPhone atau Blackberry, silahkan hubungi saya melalui halaman kontak ~> Contact JEVUSKA.


 Share

Cara Kirim SMS Gratis Lewat Email Gmail

Bagaimana cara kirim SMS gratis lewat email Gmail jika Anda tidak punya HP, pulsa habis, atau mau menghemat, manfaatkan fasilitas Google ini.

Mau mengirim SMS tetapi pulsa di HP Anda habis? Anda dapat memanfaatkan fasilitas kirim sms gratis lewat email di akun Gmail Anda. Tentunya cara mengirimkan SMS melalui email Gmail ini, Anda harus punya akun Google dan koneksi internet. Jika fasilitas SMS ini belum tersedia di email Anda, silahkan mengikuti langka-langkah bagaimana cara mengaktifkan fitur SMS Gmail berikut ini:

1. Login di Gmail dan masuk ke Pengaturan (Settings)

Tombol Pengaturan Gmail
Tombol Pengaturan Gmail.

2. Pastikan pengaturan Chatting dalam keadaan aktif

Pengaturan Chat Gmail
Pengaturan Chat Gmail harus dipastikan dalam keadaan on atau aktif.

3. Aktifkan SMS di Gmail melalui opsi Labs

Mengaktifkan Labs SMS Gmail
Mengaktifkan SMS Gmail melalui opsi Labs, silahkan cari fitur SMS (text messaging) in Chat. Fasilitas ini akan memudahkan dalam mengirim dan menerima SMS langsung dari dan ke email Anda secara gratis.

4. Fitus SMS telah aktif & masukkan nomor telepon yang dituju

Fitur SMS Aktif Di Gmail
Fitur SMS aktif di Gmail, Anda dapat melihatnya di sebelah kiri monitor komputer/laptop.

5. Masukkan Nama dan Nomor ke daftar kontak email (jika belum tersedia)

Memasukkan Ke Daftar Kontak Gmail
Tampilan window/jendela untuk memasukkan nama dan nomor HP penerima ke daftar kontak email Gmail Anda, lalu tekan tombol Save.

6. Ketikkan pesan text

Kirim Pesan SMS Gmail
Kirim pesan SMS lewat Gmail tersedia untuk 50 kali pengiriman, dan setiap balasan yang Anda terima, akan menambah 5 credit SMS Anda. Maksimal kredit SMS adalah 50.

Tampilan hasil sms yang dikirim ke HP penerima

Hasil SMS masuk di HP dari Gmail
Hasil SMS masuk di HP dari Gmail.

SMS gratis yang masuk di HP dari Gmail ini dapat langsung dibalas ke Anda (sebagai pengirim) dan akan dikenakan biaya sesuai dengan ketentuan yang berlaku dari provider.

UPDATE 31 Mei 2014
SMS dari Google Chat di Gmail telah dihentikan sejak 1 April 2014. (Info)


 Share