PluginProbe
Depicter — Popup & Slider Builder / 1.6.2
Depicter — Popup & Slider Builder v1.6.2
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / vendor / htmlburger / wpemerge / src / Routing / Conditions / PostTemplateCondition.php

PostTemplateCondition.php in Depicter — Popup & Slider Builder 1.6.2, at vendor/htmlburger/wpemerge/src/Routing/Conditions/PostTemplateCondition.php

62 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package WPEmerge
4 * @author Atanas Angelov <[email protected]>
5 * @copyright 2017-2019 Atanas Angelov
6 * @license https://www.gnu.org/licenses/gpl-2.0.html GPL-2.0
7 * @link https://wpemerge.com/
8 */
9
10 namespace WPEmerge\Routing\Conditions;
11
12 use WPEmerge\Requests\RequestInterface;
13
14 /**
15 * Check against the current post's template.
16 *
17 * @codeCoverageIgnore
18 */
19 class PostTemplateCondition implements ConditionInterface {
20 /**
21 * Post template to check against
22 *
23 * @var string
24 */
25 protected $post_template = '';
26
27 /**
28 * Post types to check against
29 *
30 * @var string[]
31 */
32 protected $post_types = [];
33
34 /**
35 * Constructor
36 *
37 * @codeCoverageIgnore
38 * @param string $post_template
39 * @param string|string[] $post_types
40 */
41 public function __construct( $post_template, $post_types = [] ) {
42 $this->post_template = $post_template;
43 $this->post_types = is_array( $post_types ) ? $post_types : [$post_types];
44 }
45
46 /**
47 * {@inheritDoc}
48 */
49 public function isSatisfied( RequestInterface $request ) {
50 $template = get_post_meta( (int) get_the_ID(), '_wp_page_template', true );
51 $template = $template ? $template : 'default';
52 return ( is_singular( $this->post_types ) && $this->post_template === $template );
53 }
54
55 /**
56 * {@inheritDoc}
57 */
58 public function getArguments( RequestInterface $request ) {
59 return ['post_template' => $this->post_template, 'post_types' => $this->post_types];
60 }
61 }
62