-
Üyelik
11.07.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
Öğrenci
-
Konum
Konya
-
Ad Soyad
M** K**
-
Mesajlar
8
-
Beğeniler
0 / 0
-
Ticaret
0, (%0)
Bir film sitesi üzerinde çalışıyorum ve sitemde bir çok bölümü özel alanlar ile düzenliyorum. Örneğin, imdb adresi, orijinal adı, yayın tarihi vs. Fakat arama yaparken sadece metin kısmında ve sayfa başlığına göre arama yapıyor.
Film Adı: Kaptan Marvel
Orj. Adı: Captain Marvel
IMDB ID: tt4154664
Özet (metin): Carol Danvers becomes one of ....
tüm alanları dolduruyorum ve alanlar temada düzgün bir şekilde görünüyor fakat arama yaparken sadece "Kaptan Marvel" ve içerik kısmında görünen özet bilgisi (Carol Danvers becomes one of ....) kelimeleri ile sonuçlar gösteriyor.
Yani Captain ya da tt4154664 yazınca sonuç bulunamadı diyor.
Bunun için ne yapabilirim? bu kısımları başlığa ya da içerik kısmına eklemek istemiyorum ama yapabilecek bir şey yoksa mecbur o şekilde yapacağım.
Ya da özel alanı herhangi bir şekilde içerik kısmında görüntüleyebilir miyim?
wpuzman
WordPress Developer
Kullanıcı
-
Üyelik
13.01.2017
-
Yaş/Cinsiyet
33 / E
-
Meslek
Yazılım
-
Konum
Trabzon
-
Ad Soyad
B** M**
-
Mesajlar
2771
-
Beğeniler
293 / 949
-
Ticaret
33, (%100)
Arama sayfası post_meta ları göstermez. Özel alan dediğiniz post_meta oluyor.
İstediğinizi yapma kısmına gelecek olursak, sanırım filtreleme yapmak istiyorsunuz. Bunun için öncelikle özel query oluşturmanız gerek.
$args_query = array(
'order' => 'DESC',
);
$query = new WP_Query( $args_query );
if( $query->have_posts() ) {
while( $query->have_posts() ) {
$query->the_post();
the_title( '', '
' );
}
} else {
esc_attr_e( 'Yazı bulunamadı' );
}
wp_reset_postdata();
Bu şekilde yazıları gösterdik. Şimdi özel alanlara göre yazıları gösterelim. Bunun için meta_query kullanmanız gerekiyor. Şöyle:
$args_query = array(
'order' => 'DESC',
'meta_query' => array(
array(
'key' => 'imdb_id',
'value' => 'tt4154664',
'compare' => '=',
)
)
);
$query = new WP_Query( $args_query );
if( $query->have_posts() ) {
while( $query->have_posts() ) {
$query->the_post();
the_title( '', '
' );
}
} else {
esc_attr_e( 'Yazı bulunamadı' );
}
wp_reset_postdata();
meta_query ile ilgili bir çok özellik var. Büyük (>) küçük (<) IN vs. Araştırarak öğrenebilirsin. Ayrıca $_GET parametresi ile daha gelişmiş filtreler yapabilirsin. Kolay gelsin.