☝️
Spauskite ant pastato aukšto nuotraukoje
ButasPlotas m²KambariaiKryptis€/m²Kaina nuoStatusas

3D planas

3D planas dar neįkeltas

2D planas

2D planas dar neįkeltas

Vieta aukšte

Vietos planas dar neįkeltas

☝️
Spauskite ant pastato aukšto nuotraukoje
ButasPlotas m²KambariaiKryptis€/m²Kaina nuoStatusas

3D planas

3D planas dar neįkeltas

2D planas

2D planas dar neįkeltas

Vieta aukšte

Vietos planas dar neįkeltas

// 1. Add fields to the Bulk Edit screen
add_action(‘bulk_edit_custom_box’, ‘display_apartment_bulk_edit’, 10, 2);
function display_apartment_bulk_edit($column_name, $post_type) {
if ($post_type !== ‘apartment’) return;

// We only need to output the fields once, so we pick one column to hook into
if ($column_name === ‘rooms’) {
?>
<fieldset class=”inline-edit-col-right” style=”margin-top: 10px;”>
<div class=”inline-edit-col”>
<span class=”title”>Apartment Details</span>

<label class=”alignleft”>
<span class=”checkbox-title”>Rooms</span>
<input type=”text” name=”rooms” value=””>
</label>

<label class=”alignleft”>
<span class=”checkbox-title”>Area</span>
<input type=”text” name=”area” value=””>
</label>

<label class=”alignleft”>
<span class=”checkbox-title”>Floor</span>
<input type=”text” name=”floor” value=””>
</label>

<label class=”alignleft”>
<span class=”checkbox-title”>Status</span>
<select name=”status”>
<option value=””>— No Change —</option>
<option value=”available”>Available</option>
<option value=”sold”>Sold</option>
<option value=”reserved”>Reserved</option>
</select>
</label>
</div>
</fieldset>
<?php
}
}
// 1. Save Bulk Edit Data
add_action(‘save_post_apartment’, ‘save_apartment_bulk_data’, 10, 1);
function save_apartment_bulk_data($post_id) {
// Basic security checks
if (defined(‘DOING_AUTOSAVE’) && DOING_AUTOSAVE) return;
if (!current_user_can(‘edit_post’, $post_id)) return;

// Check if this is a Bulk Edit request
if (isset($_REQUEST[‘bulk_edit’]) && $_REQUEST[‘bulk_edit’] == ‘Update’) {
$fields = [‘rooms’, ‘area’, ‘floor’, ‘status’];

foreach ($fields as $field) {
// We check if the field exists in the request and is not empty
if (isset($_REQUEST[$field]) && $_REQUEST[$field] !== ”) {
$value = sanitize_text_field($_REQUEST[$field]);
update_field($field, $value, $post_id);
}
}
}
}
// Quick edit
add_action(‘quick_edit_custom_box’, ‘display_apartment_quick_edit’, 10, 2);
function display_apartment_quick_edit($column_name, $post_type) {
if ($post_type !== ‘apartment’) return;
if ($column_name === ‘rooms’) {
?>
<fieldset class=”inline-edit-col-right”>
<div class=”inline-edit-col”>
<span class=”title”>Apartment Details</span>
<label>
<span class=”title”>Rooms</span>
<span class=”input-text-wrap”><input type=”text” name=”rooms” value=””></span>
</label>
<label>
<span class=”title”>Area</span>
<span class=”input-text-wrap”><input type=”text” name=”area” value=””></span>
</label>
<label>
<span class=”title”>Floor</span>
<span class=”input-text-wrap”><input type=”text” name=”floor” value=””></span>
</label>
<label>
<span class=”title”>Status</span>
<select name=”status”>
<option value=”available”>Available</option>
<option value=”sold”>Sold</option>
<option value=”reserved”>Reserved</option>
</select>
</label>
</div>
</fieldset>
<?php
}
}
add_action(‘admin_footer’, ‘apartment_quick_edit_js’);
function apartment_quick_edit_js() {
global $current_screen;
if ($current_screen->post_type !== ‘apartment’) return;
?>
<script type=”text/javascript”>
jQuery(function($) {
var wp_inline_edit = inlineEditPost.edit;
inlineEditPost.edit = function(id) {
wp_inline_edit.apply(this, arguments);

var post_id = 0;
if (typeof(id) == ‘object’) {
post_id = parseInt(this.getId(id));
}

if (post_id > 0) {
var edit_row = $(‘#edit-‘ + post_id);
var post_row = $(‘#post-‘ + post_id);

// Grab data from the table columns
var rooms = post_row.find(‘.column-rooms’).text().trim();
var area = post_row.find(‘.column-area’).text().trim();
var floor = post_row.find(‘.column-floor’).text().trim();
var status = post_row.find(‘.column-status’).text().trim().toLowerCase();

// Inject data into Quick Edit inputs
edit_row.find(‘input[name=”rooms”]’).val(rooms === ‘—’ ? ” : rooms);
edit_row.find(‘input[name=”area”]’).val(area === ‘—’ ? ” : area);
edit_row.find(‘input[name=”floor”]’).val(floor === ‘—’ ? ” : floor);

// For Status dropdown (match by text or value)
edit_row.find(‘select[name=”status”] option’).filter(function() {
return $(this).text().toLowerCase() === status || $(this).val() === status;
}).prop(‘selected’, true);
}
};
});
</script>
<?php
}
add_action(‘save_post_apartment’, ‘save_apartment_meta_data’);
function save_apartment_meta_data($post_id) {
if (defined(‘DOING_AUTOSAVE’) && DOING_AUTOSAVE) return;
if (!current_user_can(‘edit_post’, $post_id)) return;

$fields = [‘rooms’, ‘area’, ‘floor’, ‘status’];

foreach ($fields as $field) {
if (isset($_REQUEST[$field])) {
$value = sanitize_text_field($_REQUEST[$field]);
update_field($field, $value, $post_id);
}
}
}

Sukūrė Petruskevich.com