generated from DoedeJaarsmaCommunicatie/wired-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
single-lot.php
81 lines (66 loc) · 2.25 KB
/
single-lot.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
defined('ABSPATH') || exit;
use Timber\{Image, Timber};
use App\Post;
/**
* @param string $name
* @param Post $post
* @param int $term_id
*
* @return Image
*/
function get_image($name, $post, $term_id) {
$post_image = $post->get_field($name);
if (!$post_image) {
return new Image(carbon_get_term_meta($term_id, $name));
}
return new Image($post_image);
}
/**
* @param string $name
* @param Post $post
* @param int $term_id
*
* @return array|mixed|\Timber\mix|WP_Post
*/
function get_field($name, $post, $term_id) {
$post_field = $post->get_field($name);
if (!$post_field) {
return carbon_get_term_meta($term_id, $name);
}
return $post_field;
}
$context = Timber::get_context();
$post = new \App\Lot();
$context ['post'] = $post;
$templates = [
'views/single/' . $post->post_type . '/' . $post->id . '.html.twig',
'views/single/' . $post->post_type . '/' . $post->slug . '.html.twig',
'views/single/' . $post->id . '.html.twig',
'views/single/' . $post->slug . '.html.twig',
'views/single/' . $post->post_type . '.html.twig',
'views/single.html.twig',
'views/page.html.twig'
];
$context['floors'] = $post->terms('floor');
$context['types'] = $post->terms('type');
$context['price'] = [
'price' => apply_filters('werf8/single/lot/price/price', get_field('price', $post, $context['types'][0]->term_id), $post->id),
'info' => get_field('price_extra', $post, $context['types'][0]->term_id),
];
$context['areas'] = [
'surface' => get_field('surface_area', $post, $context['types'][0]->term_id),
'outside' => get_field('outside_area', $post, $context['types'][0]->term_id),
];
$context['status'] = get_field('status', $post, $context['types'][0]->term_id);
$context['extra_content'] = get_field('extra', $post, $context['types'][0]->term_id);
$context['images'] = [
'floor_plan' => get_image('floor_plan', $post, $context['types'][0]->term_id),
'ambiance' => get_image('ambiance_pic', $post, $context['types'][0]->term_id),
'exterior' => get_image('exterior_marked', $post, $context['types'][0]->term_id),
'ground_plan' => get_image('ground_plan', $post, $context['types'][0]->term_id)
];
if (post_password_required($context['post']->id)) {
array_unshift($templates, 'views/single/password.html.twig');
}
Timber::render($templates, $context);