




Wordpress'te Şu Arama Kutusu Yerine Wp'nin Normal Arama Kutusu
-
merhabalar, bir temamız var; temada çift dil eklentisi (polylang) yüzünden kendi arama alanını kullanamıyoruz.
https://prnt.sc/lPOObJ50hdtq (kendi arama alanı)
sebebi ise 2. dildeyken 1. dilde arama yapıyor ve site ilk dile geçiyor link olarak.
-
wordpress'in kendi arama kutusunu bileşenlerden ekledim ingilizcedeyken oradan arama yaptım ve sorunsuz çalıştı. şimdi sorum şu şekilde: wordpress'in kendi arama kutusunu şu açılan kutuya ekleyebilir miyiz? yardım edebilecek var mı discord'dan vs.?
-
(ek olarak functions.php'den bu kısımla alakalı bir yer buldum link yapısı klasik wp get_home_url değilmiş onu öyle yaptım fakat onda da xxx.com/en/homepage/arama? olarak arattığı için çalışmadı. onu da xxx.com/en/arama? olarak güncelleyemedim onu da yapabiliriz eğer daha kolay bu şekilde derseniz)
biraz zor durumda kaldım tema yapımcısı kendi get'lerini yaptığı için maalesef. yardım edebilecek olursa çok sevinirim.
-
Wordpress' in normal arama kutusunu temaya şu kod ile ekleriz.
Arama formunu 2 şekilde değiştirebilirsin.
1. Yöntem
Bu fonkisyonun içerisinde get_search_form adında bir filtre var. Bu filtre ile arama formunu değiştirebilirsin. Örneğin
function custom_search_form( $form ) { $form = '<form role="search" method="get" id="searchform" class="searchform" action="' . home_url( '/' ) . '" > <div class="custom-form"><label class="screen-reader-text" for="s">' . __( 'Search:' ) . '</label> <input type="text" value="' . get_search_query() . '" name="s" id="s" /> <input type="submit" id="searchsubmit" value="'. esc_attr__( 'Search' ) .'" /> </div> </form>'; return $form; } add_filter( 'get_search_form', 'custom_search_form', 40 );
Bu kodları temanın function.php dosyası içine atmalısın. Buradaki html kodlarını değiştirerek wordpress in varsayılan arama formunu değiştirebiliriz.
2. Yöntem
Tema klasörünün içerisine searchform.php dosyası oluştur. Arama formunun kodlarını searchform.php dosyası içerisine yapıştır. Aşağıda örnek bir search form yapısı var.
<?php
/* Custom search form */
?>
<form role="search" method="get" id="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>" class="input-group mb-3">
<div class="input-group">
<input type="search" class="form-control border-0" placeholder="Search" aria-label="search nico" name="s" id="search-input" value="<?php echo esc_attr( get_search_query() ); ?>">
<div class="input-group-append">
<span class="input-group-append p-0">
<i class="fas fa-search text-muted"></i>
</span>
</div>
</div>
</form>Detaylı bilgi için buraya bakabilirsin: https://nicolaslule.com/how-to-customize-the-search-form-in-wordpress/
-
shock56 bunu yazdı
Wordpress' in normal arama kutusunu temaya şu kod ile ekleriz.
Arama formunu 2 şekilde değiştirebilirsin.
1. Yöntem
Bu fonkisyonun içerisinde get_search_form adında bir filtre var. Bu filtre ile arama formunu değiştirebilirsin. Örneğin
< id="search" class="search" role="search" =""'</span" method="get">. home_url( '/' ) . '" > . __( 'Search:' ) . ' < ="text" value=""'</span" /> . get_search_query() . '" name="s" id="s" /> < id="searchsubmit" ="submit" value=""'</span" />. esc_attr__( 'Search' ) .'" />function custom_search_form( $form ) { $form = '
Bu kodları temanın function.php dosyası içine atmalısın. Buradaki html kodlarını değiştirerek wordpress in varsayılan arama formunu değiştirebiliriz.
2. Yöntem
Tema klasörünün içerisine searchform.php dosyası oluştur. Arama formunun kodlarını searchform.php dosyası içerisine yapıştır. Aşağıda örnek bir search form yapısı var.
< id="search-" class="-group mb-3" role="search" ="<?php esc_ home_ '/' ; ?>" method="get">
/* Custom search form */
?>
< id="search-" class="-control border-0" name="s" ="search" value="<?php esc_attr get_search_query ; ?>" placeholder="Search" aria-label="search nico" />
Detaylı bilgi için buraya bakabilirsin: https://nicolaslule.com/how-to-customize-the-search-form-in-wordpress/
Çok teşekkür ederim, arama sorununu Polylang'ın link yapısını /en/homepage olmaktan /en/ olarak değiştirince düzeldi. Geri kalanı get_home_url ile düzelttim fonksiyondaki. Baya bi rahatladım çok teşekkür ederim.