Metrekare:
Oda Sayısı:
Fiyat:
Bilgilerini Girmenzi sağlar. girilmeyen bilgiler gösterilmez
Fiyat 3 farlı para birimi olarak düzenenmiştir tl dolar ve euro
Demo adres: serik emlak
indir
Kodu bu şekildedir
<?php
/*
Plugin Name: Emlak Özellikleri
Description: Yazılara emlak özellikleri (metrekare, oda sayısı, fiyat ve para birimi) ekleyen bir eklenti.
Version: 1.3
Author: [Serik Emlak]
*/
// Meta box ekleme
function emlak_ozellikleri_metabox_ekle() {
add_meta_box(
'emlak_ozellikleri',
'Emlak Özellikleri',
'emlak_ozellikleri_metabox_gorunum',
'post',
'normal',
'high'
);
}
add_action('add_meta_boxes', 'emlak_ozellikleri_metabox_ekle');
// Meta box görünümü
function emlak_ozellikleri_metabox_gorunum($post) {
$metrekare = get_post_meta($post->ID, '_emlak_metrekare', true);
$oda_sayisi = get_post_meta($post->ID, '_emlak_oda_sayisi', true);
$fiyat = get_post_meta($post->ID, '_emlak_fiyat', true);
$para_birimi = get_post_meta($post->ID, '_emlak_para_birimi', true);
if (!$para_birimi) {
$para_birimi = 'TL'; // Varsayılan para birimi
}
echo '<label for="emlak_metrekare">Metrekare:</label>';
echo '<input type="text" id="emlak_metrekare" name="emlak_metrekare" value="' . esc_attr($metrekare) . '" />';
echo '<br><br>';
echo '<label for="emlak_oda_sayisi">Oda Sayısı:</label>';
echo '<input type="text" id="emlak_oda_sayisi" name="emlak_oda_sayisi" value="' . esc_attr($oda_sayisi) . '" />';
echo '<br><br>';
echo '<label for="emlak_fiyat">Fiyat:</label>';
echo '<input type="text" id="emlak_fiyat" name="emlak_fiyat" value="' . esc_attr($fiyat) . '" />';
echo '<br><br>';
echo '<label for="emlak_para_birimi">Para Birimi:</label>';
echo '<select id="emlak_para_birimi" name="emlak_para_birimi">';
echo '<option value="TL" ' . selected($para_birimi, 'TL', false) . '>TL</option>';
echo '<option value="USD" ' . selected($para_birimi, 'USD', false) . '>USD</option>';
echo '<option value="EUR" ' . selected($para_birimi, 'EUR', false) . '>EUR</option>';
echo '</select>';
}
// Meta box verilerini kaydetme
function emlak_ozellikleri_veri_kaydet($post_id) {
if (array_key_exists('emlak_metrekare', $_POST)) {
update_post_meta($post_id, '_emlak_metrekare', sanitize_text_field($_POST['emlak_metrekare']));
}
if (array_key_exists('emlak_oda_sayisi', $_POST)) {
update_post_meta($post_id, '_emlak_oda_sayisi', sanitize_text_field($_POST['emlak_oda_sayisi']));
}
if (array_key_exists('emlak_fiyat', $_POST)) {
update_post_meta($post_id, '_emlak_fiyat', sanitize_text_field($_POST['emlak_fiyat']));
}
if (array_key_exists('emlak_para_birimi', $_POST)) {
update_post_meta($post_id, '_emlak_para_birimi', sanitize_text_field($_POST['emlak_para_birimi']));
}
}
add_action('save_post', 'emlak_ozellikleri_veri_kaydet');
// Yazı içeriğine özellikleri ekleme
function emlak_ozellikleri_goster($content) {
if (is_single()) {
$metrekare = get_post_meta(get_the_ID(), '_emlak_metrekare', true);
$oda_sayisi = get_post_meta(get_the_ID(), '_emlak_oda_sayisi', true);
$fiyat = get_post_meta(get_the_ID(), '_emlak_fiyat', true);
$para_birimi = get_post_meta(get_the_ID(), '_emlak_para_birimi', true);
// Özellikler sadece doluysa gösterilecek
$ozellikler = '';
if ($metrekare || $oda_sayisi || $fiyat) {
$ozellikler .= '<div class="emlak-ozellikleri">';
if ($metrekare) {
$ozellikler .= '<div class="emlak-ozellik"><strong>Metrekare:</strong> ' . esc_html($metrekare) . '</div>';
}
if ($oda_sayisi) {
$ozellikler .= '<div class="emlak-ozellik"><strong>Oda Sayısı:</strong> ' . esc_html($oda_sayisi) . '</div>';
}
if ($fiyat) {
$ozellikler .= '<div class="emlak-ozellik"><strong>Fiyat:</strong> ' . esc_html($fiyat) . ' ' . esc_html($para_birimi) . '</div>';
}
$ozellikler .= '</div>';
}
$content .= $ozellikler;
}
return $content;
}
add_filter('the_content', 'emlak_ozellikleri_goster');
// Stil eklemek için gerekli CSS
function emlak_ozellikleri_stil() {
echo '<style>
.emlak-ozellikleri {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 15px;
padding: 10px;
border-top: 1px solid #ddd;
font-size: 14px;
}
.emlak-ozellikleri .emlak-ozellik {
flex: 1;
text-align: center;
}
.emlak-ozellik strong {
display: block;
font-weight: bold;
margin-bottom: 5px;
}
</style>';
}
add_action('wp_head', 'emlak_ozellikleri_stil');